@xxxMapping注解
- @GetMapping == @RequestMapping(method = RequestMethod.GET)
GET-获取
处理get请求
@GetMapping("/get/{id}")
@RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
-
@PostMapping == @RequestMapping(method = RequestMethod.POST)
POST-保存
处理post请求 -
@PutMapping == @RequestMapping(method = RequestMethod.PUT)
PUT-修改
PutMapping和PostMapping作用等同,都是用来向服务器提交信息。如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping。两者差别不是很明显。 -
@DeleteMapping == @RequestMapping(method = RequestMethod.DELETE)
DELETE-删除 -
@PatchMapping == @RequestMapping(method = RequestMethod.PATCH)
@RestController == @Controller + @ResponseBody
@Controller注解
- Indicates that an annotated class is a “Controller” (e.g. a web controller).
- 在一个类上添加@Controller注解,表明了这个类是一个控制器类。
- 一个处理请求的处理器
@ResponseBody注解
- Annotation that indicates a method return value should be bound to the web response body. Supported for annotated handler methods.
- @ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径。
- 格式的转换是通过HttpMessageConverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。
- 如果要求方法返回的是json格式数据,而不是跳转页面,可以直接在类上标注@RestController,而不用在每个方法中标注@ResponseBody,简化了开发过程。
get请求特点:
- 请求参数会添加到请求资源路径的后面,只能添加少量参数(因为请求行只有一行,大约只能存放2K左右的数据)
- 请求参数会显示在浏览器地址栏,路由器会记录请求地址 (极为的不安全)
- 如果传输中文,必定会乱码(原因:get请求默认编码格式为:IIO-8859-1,后台编码格式一般为:GBK或者UTF-8)
post请求的特点:
- 请求参数添加到实体内容里面,可以添加大量的参数(也解释了为什么浏览器地址栏不能发送post请求,在地址栏里我们只能填写URL,并不能进入到Http包的实体当中)
- 相对安全,但是,post请求不会对请求参数进行加密处理(可以使用https协议来保证数据安全)



