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,你好")如下图

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

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

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

java 复制代码
@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...

java 复制代码
@RequestMapping("/test")
@RestController
public class TestController {
    @RequestMapping("/r1")
    public String r1(String r1) {
        return "接收到参数:" + r1;
    }
}
1.3.2 没有 @RestController 的报错信息

没有@RestController 注解之后,访问该URL就找不到,但是服务器并没有报错信息,因为404是客户端错误,所以这个问题本来就是服务器没返回数据导致客户端正常访问报错,是服务器错误,但是却是客户端错误信息,所以这个错误的排查难度会提高一点。

java 复制代码
@RequestMapping("/test")
//@RestController
public class TestController {
    @RequestMapping("/r1")
    public String r1(String r1) {
        return "接收到参数:" + r1;
    }
}
1.3.3 不传递参数的报错信息

不传递参数无报错信息,需要单独注意,这是使用包装类型的传递,如果是基础类型(如:int....)等类型会出现报错信息。

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

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

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

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

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

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

java 复制代码
    @RequestMapping("/r2")
    public String r2(String name, String password) {
        return "接收参数 name: " + name + ", password: " + password;
    }
相关推荐
泡海椒1 小时前
jquick-pdf 超详细入门教程:Java 轻量级 HTML 模板生成 PDF 工具
java·开发语言
蛋先生DX1 小时前
Java和Go都拍胸脯说"内存我包了",可它们到底是怎么下手的?
java·go·编程语言
pe7er1 小时前
引子
前端·后端·架构
SimonKing1 小时前
阅后即焚的加密便签:Cryptgeon,你口袋里的秘密信使
java·后端·程序员
恋猫de小郭1 小时前
CPF-Flutter 社区提出折叠场景分栏(平行视界) 方案
android·前端·flutter
ss2731 小时前
Java全栈实战 | 1.3-03 索引原理:联合索引 (a,b,c) 只查 b 走不了索引?B+ 树一图讲透所有索引玄学
java·数据库
aixingpan1 小时前
aixingpan.cn API开发文档:api_docs_trichart_natal_marx_transit2接口指南
前端·php
csj502 小时前
前端基础之《React(13)—表单绑定、列表渲染》
前端·react.js
csj502 小时前
前端基础之《React(12)—条件渲染》
前端·react.js