注解首字母
A
B
C
D
- @DateTimeFormat
加在参数上,用来指定可接收的日期格式
E
F
G
- @GetMapping
H
I
J
K
L
M
@MapperScan(“com.jd.dao”)
扫描Mapper文件
在启动类加入该参数,如果不加入某些情况下会找不到自动装配的BEAN对象,会导致项目失败或者空指针异常
N
O
P
- @PathVariable
修饰方法参数,表示这个参数的值来自url中{}表达式给定值
Q
R
@RequestParam
用于描述方法参数,用于定义参数规则
@RequestBody
注解描述方法参数时,客户端
可以以post方式提交json格式的数据
说明:@RequestBody注解描述的方法参数不能封装Get请求数据
@ResponseBody
注解描述的方法,它的返回值是一个pojo对象,底层在将其转换为json格式字符串时,会默认调用pojo对象的get方法,会使用get方法名中get单词后面的名字作为key(首字母小写),get方法的返回值作为value,拼接json格式字符串.
Responsebody+Controller = RestController
* 在当前应用中这个json格式的字符串会写到http协议的哪一部分中(响应体)然后响应到客户端?
* 谁将这个map转换为了json格式字符串呢?springboot工程默认使用的是jackson (这组依赖是添加spring web依赖时自动添加的)
- 如果手动拼接json的话代码如下:
@RequestMapping("/doPrintJsonToClient02")
//@ResponseBody
public void doPrintJsonToClient02(HttpServletResponse response) throws IOException {
//看过去(最早都是我们自己拼接字符串为json格式)
//String jsonStr="{\"state\":1,\"message\":\"成功\"}";
//进阶过程
Map<String,Object> map=new HashMap<>();
map.put("state", 1);
map.put("message", "成功");
//将map手动转换为json字符串
ObjectMapper objectMapper=new ObjectMapper();
String jsonStr=objectMapper.writeValueAsString(map);
System.out.println("jsonStr="+jsonStr);
//将这个json字符串响应到客户端
response.setCharacterEncoding("utf-8");//设置响应数据的编码
response.setContentType("text/json;charset=utf-8");//告诉客户端响应数据的类型以及编码
PrintWriter out=response.getWriter();
out.println(jsonStr);
out.flush();
}
@RestControllerAdvice
全局异常处理类要加这个
S
@SuperBuilder
该注解来自lombok,表示能正常获取父类的属性,方法,来进行构造。
@SuperBuilder(toBuilder = true)
,表示在原来对象实例基础上构造新实例,默认是false