Spring Boot 注解详解01

一、@RequestMapping 注解

        1.1 @RequestMapping 注解简单小解

        @RequestMapping 是经常被使用到的注解,他是用来注册接口的路由映射。
 路由映射:当用户访问一个URL时,将用户的请求对应到程序中某个类的某个方法的过程就是路由映射。

        1.2 @RequestMapping 使用

        @RequestMapping 既可以修饰类,也可以修饰方法,但是它无法修饰对象。
        @RequestMapping标识一个类:设置映射请求的请求路径的初始信息。
        @RequestMapping标识一个方法:设置映射请求路径的具体信息

        像下面这段代码,我就是设置了一个URL为:http://127.0.0.1:8080/log/hello 的一个网址,运行服务,在浏览器中输入这个网址之后会打印("hello,你好")如下图

@RequestMapping("/log")
@RestController
public class LogController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello,你好";
    }
}

        RequestMapping 即支持Get请求,也支持Post请求。

        如果该地址需要指定使用Get请求来访问就可以添加@GetMapping注解,如果需要使用Post请求就需要添加@PostMapping注解。而且@GetMapping 和 @PostMapping 两个注解都是方法注解

@RequestMapping("/log")
@RestController
public class LogController {
//    @RequestMapping("/hello")
    @GetMapping("/hello")
    public String hello() {
        return "hello,你好";
    }
}
@RequestMapping("/log")
@RestController
public class LogController {
//    @RequestMapping("/hello")
    @PostMapping("/hello")
    public String hello() {
        return "hello,你好";
    }
}

        1.3 请求传递参数的使用

        1.3.1 传递单个参数
使用postman来进行访问,参数名要对的上才可以,此处我命名不规范,你们可以命名为name...
@RequestMapping("/test")
@RestController
public class TestController {
    @RequestMapping("/r1")
    public String r1(String r1) {
        return "接收到参数:" + r1;
    }
}
        1.3.2 没有 @RestController 的报错信息
没有@RestController 注解之后,访问该URL就找不到,但是服务器并没有报错信息,因为404是客户端错误,所以这个问题本来就是服务器没返回数据导致客户端正常访问报错,是服务器错误,但是却是客户端错误信息,所以这个错误的排查难度会提高一点。

@RequestMapping("/test")
//@RestController
public class TestController {
    @RequestMapping("/r1")
    public String r1(String r1) {
        return "接收到参数:" + r1;
    }
}
        1.3.3 不传递参数的报错信息
        不传递参数无报错信息,需要单独注意,这是使用包装类型的传递,如果是基础类型(如:int....)等类型会出现报错信息。

        1.3.4 使用基础类型接收参数不传递的报错信息

        下面的代码使用int来接收,不传递参数会直接让前端收到后端报的500的错误码。后端也会有相应的报错信息

@RequestMapping("/test")
@RestController
public class TestController {
    @RequestMapping("/r1")
    public String r1(int name) {
        return "接收到参数:" + name;
    }
}
        1.3.5 传递类型参数不匹配的报错信息

        使用 Integer 作为参数,传递 String 类型的报错信息,前端为400,

@RequestMapping("/test")
@RestController
public class TestController {
    @RequestMapping("/r1")
    public String r1(Integer name) {
        return "接收到参数:" + name;
    }
}
        1.3.6 传递多个参数

        传递多个参数的时候需要注意变量名字需要对准,一个名字对不上或者类型对不上,就会出现以上的报错信息。

    @RequestMapping("/r2")
    public String r2(String name, String password) {
        return "接收参数 name: " + name + ", password: " + password;
    }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值