我在spring boot post请求中遇到问题。我有一个使用String
参数的API端点,如下所示:
@RequestMapping(method = RequestMethod.POST, value = "/products/add")
public RestMessage addProduct(@RequestBody String name) {
//Code implementation here
}
当我从邮递员测试此API端点时,名称参数的填充为 name = "\"value\""
;
我的邮递员要求为:
我最近是从.net迁移的,如果将其与Web API 2方法进行比较,我将实现为
[Route("products/add")]
public IHttpActionResult Post([FromBody]string name)
{
//Code implementation here
}
如果我从邮递员测试此终结点,那么我会将名称参数值的简单字符串命名为 name = "value"
。
如何在Spring Boot中实现完全相同的行为。据我了解,Spring Boot正在考虑将反逗号作为字符串而不是json部分。
已更新:因此,经过几次测试,我发现ASP.net将邮递员字符串值视为字符串对象的行为,它为您忽略了逗号的倒置。但是在Spring引导中,如果您有一个参数作为字符串,并且必须在@RequestBody中传递它,则不要对其进行字符串化。适用于我的示例请求为:
所以不必费心邮递员中的十字符号。
答案 0 :(得分:0)
您需要创建一个POJO。
Class NameDTO {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
@RequestBody名称DTO名称DTO
现在您可以使用
获取名称name = nameDTO.getName