如何正确构建“ PUT方法”并执行“实习生请求”?

问题描述 投票:0回答:1

我是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的方式相同,但仅具有idname

这里是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对象的列表中创建PlayerEntityGameEntity中。

所以我想我将不得不创建的GameEntity

PUT”。但是我如何“到达” PlayerEntity?我可以做一些内部要求吗?语法可能是什么?进行两个请求以创建两个对象并将一个放置在另一个对象中,这是最好的方法吗?直到现在我还缺少什么吗?

我有点迷失了,任何建议都会有很大帮助!

提前感谢。

我是Spring和Java的新手(我可能不使用正确的词汇,尤其是英语),并且我正在尝试建立一个小型数据库。但是我对PUT方法的语法有疑问。 (一切都是...

java spring rest httprequest put
1个回答
0
投票

如果两个对象都可以独立存在,则它们都应具有POST。我认为在创建游戏时您的玩家已经存在了吗?在这种情况下,当您发布游戏时,可以立即将玩家包括在其集合中。

© www.soinside.com 2019 - 2024. All rights reserved.