【发布时间】:2017-10-20 08:59:22
【问题描述】:
我正在开发一个 Spring Boot 应用程序,现在想将用户详细信息发布到后端。我通过以下代码将 Json 数据发布到后端:
@RestController
public class DataInsertController {
@RequestMapping(value = "data/api", consumes={MediaType.APPLICATION_JSON_VALUE},method = RequestMethod.POST)
public ResponseEntity<HostResponse> createAuthenticationToken(@RequestBody Host host ) {
System.out.println(host.getName());
return ResponseEntity.ok(new HostResponse("token"));
}
}
我的对象类是这样的
import java.io.Serializable;
public class Host implements Serializable{
private static final long serialVersionUID = -8445943548965154778L;
private String name;
private String email;
public Host(){
super();
}
public Host(String name, String email) {
this.setName(name);
this.setEmail(email);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
我正在发布类似
的数据{
"name": "user01",
"email":"user1@email.com"
}
来自我的 Rest Client。但是后端没有打印数据。任何帮助表示赞赏。
【问题讨论】:
-
(没有我的 IDE)我没有发现任何问题,但我会删除一些内容,例如 consumes={MediaType.APPLICATION_JSON_VALUE} 和对象类中的构造函数。尝试不使用它并告诉我它是否有效:)
-
实际上当我打印
System.out.println(host.getName());时。它打印 nul。知道为什么吗?如何将接收到的 json 数据检索到 java 对象值? -
我测试你的代码。没有错误。有用。可能是您的客户端请求格式不正确。可以分享一下吗?
-
实际上我没有开发任何前端。所以我正在尝试使用 Advanced Rest Client 将名称和电子邮件作为 HTTP 标头传递
标签: java json post spring-boot