【发布时间】:2022-01-22 17:19:18
【问题描述】:
我已经使用 Spring boot 创建了一个 RESTful Web 服务以将记录添加到 H2 数据库,但是当我将数据从邮递员发送到我的处理程序方法时,我在服务器端和发送到客户端的响应中得到空值好吧,有人可以帮帮我吗?
我的控制器代码:
@RestController
public class AlienController {
@Autowired
AlienRepo repo;
@RequestMapping("/")
public String home() {
return"home.jsp";
}
@PostMapping(path="/alien")
public Alien addAlien(Alien alien) {
System.out.println(alien);
repo.save(alien);
return alien;
}
我的 DAO 课程:
@Entity
public class Alien {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int aid;
private String aname;
private String lang;
public int getAid() {
return aid;
}
public void setAid(int aid) {
this.aid=aid;
}
public String getAname() {
return aname;
}
public void setAname(String aname) {
this.aname=aname;
}
public String getLang() {
return lang;
}
public void setLang(String lang) {
this.lang=lang;
}
@Override
public String toString() {
return "Alien Info: Aid=" + aid + ", Aname=" + aname + ", Lang=" +lang;
}
}
我的 AlienRepository 代码:
public interface AlienRepo extends JpaRepository<Alien, Integer>{
}
【问题讨论】:
-
如果您尝试发送一个 json 对象作为请求的主体,您需要通过添加 @RequestBody 注释来指定:public Alien addAlien(@RequestBody Alien alien)
-
是的,谢谢@OussamaZAGHDOUD。
-
@OussamaZAGHDOUD 你应该把它作为答案发布
-
未来:请学习如何正确使用markdown语言来格式化/缩进你的代码输入。不要只是假设你知道它是如何工作的,然后放下一些东西,然后忽略它看起来并不像它应该的那样。你看,那个链接“帮助”和“预览”,它们的存在是有原因的。帮助您提供优质内容。