zoukankan      html  css  js  c++  java
  • SpringBoot 中常用注解

    本篇博文将介绍几种SpringBoot 中常用注解

    其中,各注解的作用为:

    @PathVaribale 获取url中的数据

    @RequestParam 获取请求参数的值

    @GetMapping 组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写

    @RestController是@ResponseBody和@Controller的组合注解。

    @PathVaribale 获取url中的数据

    看一个例子,如果我们需要获取Url=localhost:8080/hello/id中的id值,实现代码如下:

    @RestController
    public class HelloController {
    
        @RequestMapping(value="/hello/{id}",method= RequestMethod.GET)
        public String sayHello(@PathVariable("id") Integer id){
            return "id:"+id;
        }
    }

    @RequestParam 获取请求参数的值

    直接看一个例子,如下

    @RestController
    public class HelloController {
    
        @RequestMapping(value="/hello",method= RequestMethod.GET)
        public String sayHello(@RequestParam("id") Integer id){
            return "id:"+id;
        }
    }

    在浏览器中输入地址:localhost:8080/hello?id=1000,可以看到如下的结果: 

    当我们在浏览器中输入地址:localhost:8080/hello?id ,即不输入id的具体值,此时返回的结果为null。具体测试结果如下:

    @GetMapping 组合注解

    @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。

    即可以使用@GetMapping(value = “/hello”)来代替@RequestMapping(value=”/hello”,method= RequestMethod.GET)。即可以让我们精简代码。

    例子

    @RestController
    public class HelloController {
        //@RequestMapping(value="/hello",method= RequestMethod.GET)
        @GetMapping(value = "/hello")
        //required=false 表示url中可以不穿入id参数,此时就使用默认参数
        public String sayHello(@RequestParam(value="id",required = false,defaultValue = "1") Integer id){
            return "id:"+id;
        }
    }

    @RestController

    Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。

    即@RestController是@ResponseBody和@Controller的组合注解。

    @RestController
    public class HelloController {
    
        @RequestMapping(value="/hello",method= RequestMethod.GET)
        public String sayHello(){
            return "hello";
        }
    }

    与下面的代码作用一样

    @Controller
    @ResponseBody
    public class HelloController {
    
        @RequestMapping(value="/hello",method= RequestMethod.GET)
        public String sayHello(){
            return "hello";
        }
    }

    注解@RequestParam 和 @PathVarible的区别

    @RequestParam是请求中的参数。如get?id=1

    @PathVarible是请求路径中的变量如 get/id=1

     
    知识改变命运,代码改变生活。
  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/xubb/p/8492259.html
Copyright © 2011-2022 走看看