你没理解 restful 语义。
@
XXXMapping 都只是处理对应 method 的请求,点进去你会发现基本都是 `@RequestMapping(method ={
RequestMethod.XXX} )`
GET/POST/PUT/DELETE 之类的 method 语义,充其量也只是语义而已。
不是说 GET 就不能放个 body 进去,也不是说 POST 就不能 url 传参,也就是 query param 。
只要你想,怎么用那也都算 http 请求,只是一般没有人这么用,并且一些轮子,get 请求根本发不出去 body ,我没记错的话 restTemplate 处理这种就会有问题。
你如果想看一些讨论的话可以去 stackoverflow ,
https://stackoverflow.com/questions/978061/http-get-with-request-body归根结底只是一种君子协议,你可以选择不做君子,但是到时候你也不要怪君子不讲人情。
我也比较认同“restful 是一坨屎”这个观点,实际上真让一些人写 restful ,恐怕也没几个人能写好这种东西。
回到你的问题上,PutMapping 和 PostMapping 也都是可以传 query param 的,并且这种设计其实日常用的蛮多的,比如修改帖子内容,完全可以把帖子 id 放到 query param ,然后让 body 只保留 entity ,这是一种非常 fantastic 的设计,PutMapping 不是多此一举,他只是更加符合语义的一种写法。
能看出来你可能是新手,我建议别理解了,直接无脑 GET/POST 就行了,取数据就 GET ,存、改、删就 POST ,没什么不行的。