在 POST 的负载中传递一个字符串

Pass a string in payload of POST

通常我们在 JSON 负载中为 POST/PUT 请求传递键值对。是否有可能只传递一个刺痛:

如果是这样,我们为@RequestBody 设置什么对象?是String类型还是JSONObject?

我这样做了:

@PostMapping(value = "businessdate", consumes = MediaType.TEXT_PLAIN_VALUE)
public void postBusinessDate(@RequestBody String businessDate) throws IOException, InterruptedException, SQLException {
    businessDateService.updateBusinessDate(LocalDate.parse(businessDate));
}

并通过了这个:

这将是一个字符串。即使您将内容类型选择为 application/json

对我有用的是设置

@PutMapping(value = "/test/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
String updateInfo(@RequestHeader(@PathVariable("id") String id, @RequestBody String payload){...}

并通过转义双引号来传递字符串负载

updateInfo(token, id, "\"TEST\"");