【发布时间】:2018-11-20 11:24:18
【问题描述】:
我有一个小问题,无法正确创建将人员添加到团队的方法。原因是我的问题是我不能在 requestbody(或 PathVariable)中添加两个参数。 我想获取一个人 ID 和团队 ID 并返回两者连接。我创建了单独的类,在其中生成 id,但我无法从数据库中正确输入这个 id: 这是我在控制器中的方法:
@PostMapping("/addPeopleToTeams/{teamId}/{personId}")
@ResponseBody
public String addPeopleToTeam(@RequestBody TeamsAndPersonsId teamsAndPersonsId){
System.out.println(" " + teamsAndPersonsId.getPersonId());
System.out.println(" " + teamsAndPersonsId.getTeamId());
teamService.findTeamById(teamsAndPersonsId.getTeamId());
personService.findById(teamsAndPersonsId.getPersonId());
return teamsAndPersonsId.getTeamId() + " " + teamsAndPersonsId.getPersonId();
}
这是我在服务中通过 id 查找的方法:
public Optional<TeamDto> findTeamById(Long id) {
Assert.notNull(id, "ID must exist ");
return teamRepository
.findById(id)
.map(p -> modelMapper.map(p, TeamDto.class));
}
我的其他班级是 Team - 这是 entity、teamDto 和 TeamsAndPersonsId。
TeamsAndPersonsId 类:
public class TeamsAndPersonsId {
private Long personId;
private Long teamId;
public TeamsAndPersonsId(Long personId, Long teamId) {
this.personId = personId;
this.teamId = teamId;
}
public TeamsAndPersonsId(){}
public Long getPersonId() {
return personId;
}
public void setPersonId(Long personId) {
this.personId = personId;
}
public Long getTeamId() {
return teamId;
}
public void setTeamId(Long teamId) {
this.teamId = teamId;
}
如何正确编写此控制器方法以返回真实的团队和人员 ID?就像我在 surce 中添加的: @PostMapping("/addPeopleToTeams/{teamId}/{personId}"
【问题讨论】: