Spring boot 获得状态500和消息;缺少URI模板变量';排名'&引用;,在邮递员上测试HTTP POST请求时
我在eclipse控制台上遇到错误“已解决[org.springframework.web.bind.MissingPathVariableException:rank]类型的方法参数缺少URI模板变量'rank'” 和消息:“rank类型的方法参数缺少URI模板变量'rank',每当尝试HTTP POST请求时状态为“500”Spring boot 获得状态500和消息;缺少URI模板变量';排名'&引用;,在邮递员上测试HTTP POST请求时,spring-boot,spring-restcontroller,Spring Boot,Spring Restcontroller,我在eclipse控制台上遇到错误“已解决[org.springframework.web.bind.MissingPathVariableException:rank]类型的方法参数缺少URI模板变量'rank'” 和消息:“rank类型的方法参数缺少URI模板变量'rank',每当尝试HTTP POST请求时状态为“500” 我的RESTController代码: 我的员工实体 @数据 @AllArgsConstructor @诺尔格构装师 @实体 @表(name=“EMPLOYEE\u T
@数据
@AllArgsConstructor
@诺尔格构装师
@实体
@表(name=“EMPLOYEE\u TBL”)
公营雇员{
@身份证
私人长id;
私有字符串名称;
私人字符串电子邮件;
@独身癖
私人设定职级;
}
使用@RequestBody
在这里,您请求保存实体,并且应该以JSON格式将负载作为@RequestBody传递。从postman中,您可以使用原始类型并选择JSON类型
理想的方法是在创建或更新记录时使用@RequestBody,这需要使用POST和PUT方法传递对象。对于基于Id或某些参数检索记录的方法,您可以使用@PathVariable
您可以进一步了解注释
@RestController
@RequestMapping(path = "/comp")
public class RankController {
@PostMapping(path = "/rank")
ResponseEntity<Rank> createRank(@Valid @PathVariable Rank rank) throws URISyntaxException{
Rank result = rankRepository.save(rank);
return ResponseEntity.created(new URI("/comp/rank" + result.getId())).body(result);
}
}
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "RANK_TBL")
public class Rank {
@Id
private Long id;
private String name;
@ManyToOne(cascade = CascadeType.PERSIST)
private Employee employee;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "EMPLOYEE_TBL")
public class Employee {
@Id
private Long id;
private String name;
private String email;
@OneToMany
private Set<Rank> Rank;
}