java用postman测试POST请求传入参数为空

图片描述
图片描述
可是后台传入的是空
图片描述
get请求是可以的,是什么原因呢?
相同的写法,PUT也只有id能赋上...

clipboard.png

阅读 32.4k
6 个回答

post 的参数不是json格式啊,postman都给你提示错误了......

改成下面的试试吧

clipboard.png

如果你接受的对象里面是id,name,age这3个字段的话,你的参数应该是下面这样才对吧?key是参数名,按你上面的写法,参数名不就是user了吗?

{
    "name":"aa",
    "id":1,
    "age":55
}

没装postman,

var data="{\"id\":\"1\",\"age\":22,\"name\":\"aa\"}";
    $.ajax({
        type:'post',
        url:url,
        data:data,
        contentType:"application/json;charset=utf-8",
        success:function(msg){
            
        }
    }); 
(@RequestBody User user)这样参数就能绑定了。

抛开@modelattribute 的这个注解的意思。。。
get 请求的时候 参数可以放在header中,可以接收到。 如果是post请求,而且参数还是json 的格式,并且放在body中,建议在方法中用 @requstBody 来接受。
这两则的区别主要是根据你前端是怎样传值,和后端是怎样接收的。一般情况分为restful 风格,和 header 以及前端传的json 形式为主,这样的话,后台可以相应的接收前端传来的信息做处理。

新手上路,请多包涵

后端代码中,请求参数的格式(...,User 参数名)因此这个是formdata的请求,所以Postman中要用form-data格式传参数,而不是用raw(JSON)方式。区别于请求参数(@RequestBody User 参数名)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题