可以用@RequestBody接收GET请求吗?

SpringBoot后端,axios前端发请求,但是不论把参数放在params还是data里,请求返回的都是400 Bad Request.

上网查了一些资料,看到说@GetMapping@RequestBody是互斥的,但是我用postman却能成功传请求拿到返回值.

后端代码

    @GetMapping(value = "/view/tagtree")

public SingleNodeConsanguinity viewTagTree(@RequestBody TagLocateInfoBean tagLocateInfoBean, HttpServletRequest request) {

SingleNodeConsanguinity singleNodeConsanguinity = viewTagService.getConsanguinity(tagLocateInfoBean);

return singleNodeConsanguinity;

}

前端代码

let param = new URLSearchParams();

param.append("type", "QFX");

param.append("sheetName", "获取数据");

param.append("tag", "");

param.append("bqId", "");

console.log(param);

axios.get("http://localhost:8080/qfx/demand/view/tagtree",

param

)

.then((res) => {

console.log(res);

})

.catch(err => {

console.log('出错了');

console.log(err);

});

postman

可以用@RequestBody接收GET请求吗?
可以用@RequestBody接收GET请求吗?

浏览器

可以用@RequestBody接收GET请求吗?

问问题想知道

  • @RequestBody能用来接收get请求的参数吗?

  • 如果能,那应该怎么操作才能成功把请求发到后端,拿到数据呢?
  • 如果不能, 那为什么postman能发送成功呢?

提前谢谢大佬

回答

有大佬能讲讲吗

脱离源码的逼逼都是瞎扯淡,
首先看springmvc对于参数绑定,使用的是HandlerMethodArgumentResolver,接口两个方法
1:supportsParameter(支持解析的类型)
2:resolveArgument(参数解析逻辑)
json请求实现类则是RequestResponseBodyMethodProcessor,
可以用@RequestBody接收GET请求吗?,很明显和get post无关;

以上是 可以用@RequestBody接收GET请求吗? 的全部内容, 来源链接: utcz.com/a/99030.html

回到顶部