如何自动将String @RequestBody解析为json

我有一个端点,应将字符串值读取为主体。

@RestController

public 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

回到顶部