如何自动将String @RequestBody解析为json
我有一个端点,应将字符串值读取为主体。
@RestControllerpublic class EndpointsController {
@RequestMapping( method = RequestMethod.PUT, value = "api/{myId}/name", consumes= MediaType.APPLICATION_JSON )
public String updateName( @PathVariable( MY_ID ) String myId, @RequestBody String name) {
//will be: "new name"
//instead of : newname
return myId;
}
}
我的问题是,客户端将使用正确的恕我直言的“新名称”来调用此名称,但服务器使用引号将其读取,因为它不将字符串作为json对象处理。我如何告诉杰克逊也解析字符串(与Pojos相同)?
回答:
如果您使用Jackson作为JSON解析器,则只需使用type声明参数即可TextNode
。这是表示JSON字符串的Jackson类型。
public String updateName(@PathVariable(MY_ID) String myId, @RequestBody TextNode name) {
然后,您可以使用其asText
方法来检索其文本值。
以上是 如何自动将String @RequestBody解析为json 的全部内容, 来源链接: utcz.com/qa/431895.html