[英]Sending a post request through Axios is generating an empty RequestBody in Spring-Boot backend. Works in Postman but not through Axios post request
[英]Post Request - Spring boot [RequestBody] vs Asp.net [FromBody]
我只是在spring boot post request中遇到问题。 我有一个API端点,它采用String
参数,如下所示:
@RequestMapping(method = RequestMethod.POST, value = "/products/add")
public RestMessage addProduct(@RequestBody String name) {
//Code implementation here
}
当我从邮递员测试此API端点时,name参数是填充,其名称为name = "\\"value\\""
;;
我的邮递员要求是:
我最近从.net迁移,如果将其与Web API 2方法进行比较,我将实现为
[Route("products/add")]
public IHttpActionResult Post([FromBody]string name)
{
//Code implementation here
}
而且,如果我从邮递员测试此端点,那么我将使用一个简单的字符串将name参数值设置为name = "value"
。
如何在Spring Boot中实现完全相同的行为。 我了解的是Spring Boot正在考虑将反逗号作为字符串而不是json部分。
更新 :因此,经过一些测试,我发现ASP.net将邮递员字符串值视为字符串对象的行为,它为您忽略了逗号的倒置。 但是在Spring引导中,如果您有一个参数作为字符串,并且必须在@RequestBody中传递它,则不要对其进行字符串化。 对我有效的示例请求为:
因此,无需为邮递员中的十字标志打扰。
您需要创建一个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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.