使用Postman值发送原始JSON为空

时间:2018-05-31 09:54:05

标签: java json spring-boot

愉快的一天。

我无法使用Postman以原始JSON格式显示字符串。

这就是我在Java代码中所拥有的:

 @RestController
public class HeroController {

    @RequestMapping(method = {RequestMethod.POST}, value = "/displayHero")
    @ResponseBody
    public Map<String, String> displayInfo(String name){
        //System.out.println(name);
        Map<String, String> imap = new LinkedHashMap<String, String>();
        map.put("hero", name);
        return imap;
    }

}

每次我在Postman中测试时,我总是得到 null (如果我使用的是原始格式的话):

{
    "hero": null
}

但另一方面,使用 form-data 会显示我输入的内容。

{
"hero": "wolverine"
}

任何信息,或者应该在邮递员中做这个原始格式而不是表格数据吗?顺便说一下,原始格式值是 JSON(application / json),而在Header选项卡中,Content-Type的值是 application / json;字符集= UTF-8

谢谢你,祝你今晚愉快。

1 个答案:

答案 0 :(得分:0)

在spring boot中尝试使用以下代码将请求体作为JSON使用: -

@RequestMapping(value = "/displayHero", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
@ResponseBody
public String displayInfo(HttpEntity<String> httpEntity) {
    String json = httpEntity.getBody();
    // json contains the plain json string
    // now you can process the json object information as per your need
    // and return output as per requirements.
    return json;
}

此代码将接受POST请求的json主体,然后将其作为响应返回。