【发布时间】:2020-06-11 15:16:25
【问题描述】:
我是 Spring 和 Java 的新手(我可能不会使用正确的词汇,尤其是英语),我正在尝试建立一个小型数据库。但我对 PUT 方法的语法有疑问。 (目前一切正常)
所以我有一个名为 GameEntity 的公共类,它包含一个 id、一个 name 和一个名为 PlayerEntity 的对象列表 (我从 stackoverflow 帖子中删除了导入只是为了看得更清楚)
public class GameEntity {
@Id
@GeneratedValue
private Integer id;
private String name;
@OneToMany
private List<PlayerEntity> players;
public GameEntity() { }
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public List<PlayerEntity> getPlayers() { return players; }
public void setPlayers(List<PlayerEntity> players) { this.players = players; }
}
PlayerEntity 对象的构建方式与 GameEntity 相同,但只有 id 和 name。
这是GET和POST的映射(PlayerEntity也是一样的):
@RestController
public class GameController {
private final GameRepository gameRepository;
public GameController(GameRepository gameRepository) {
this.gameRepository = gameRepository;
}
@GetMapping("/games")
public List<GameEntity> getAllGames() {
return this.gameRepository.findAll();
}
@PostMapping("/games")
public GameEntity createGame(@RequestBody GameEntity gameEntity) {
return this.gameRepository.save(gameEntity);
}
}
现在,我可以“POST”一个 GameEntity 和一个 PlayerEntity,但我想要 PlayerEntity 创建到 GameEntity 中的 PlayerEntity 对象列表。
所以我想我将不得不“PUT”创建 GameEntity。但是我怎样才能“到达” PlayerEntity 呢?我可以做一些类似内部请求的事情吗?可能是什么语法? 做两个请求来创建两个对象并将一个放入另一个对象是最好的方法吗? 直到现在我还缺少什么吗?
我有点迷茫,任何建议都会有很大帮助!
提前致谢。
【问题讨论】:
标签: java spring rest httprequest put