为什么不删除 rest api 中的数据
Why does not delete data in rest api
我正在休息api。按 id 删除数据时出错。所有代码都已完成,但不知道为什么邮递员会引发错误。我可以使用 hibernate 将两个 table 映射为单向映射。
下面是邮递员的错误:
"message": "Required request body is missing: public org.springframework.http.ResponseEntity<org.springframework.http.HttpStatus> com.rest.RestApiPojo.Controller.PojoController.deleteAddressPerson(com.rest.RestApiPojo.Entity.Person,java.lang.Integer)"
下面是我的代码:
实体
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer person_id;
private String name;
@JsonManagedReference
@OneToOne(cascade = CascadeType.ALL, mappedBy = "person")
private Address address;
// getter setter
}
@Table(name = "address_master")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer address_id;
private String city;
private String country;
@JsonBackReference
@OneToOne(cascade=CascadeType.ALL, targetEntity = Person.class)
@JoinColumn(name = "person_id")
private Person person;
// getter setter
}
SeviceImpl
@Override
public void deleteAddressPerson(Integer personId) {
personRepo.deleteById(personId);
}
控制器
@RequestMapping(value = "/dltpersonaddress/{personId}", method = RequestMethod.DELETE)
public ResponseEntity<HttpStatus> deleteAddressPerson(@RequestBody Person person, @PathVariable Integer personId)
{
pojoService.deleteAddressPerson(personId);
return new ResponseEntity<>(HttpStatus.OK);
}
您的控制器方法中有一个未使用的 @RequestBody Person person
参数。
@RequestMapping(value = "/dltpersonaddress/{personId}", method = RequestMethod.DELETE)
public ResponseEntity<HttpStatus> deleteAddressPerson(@RequestBody Person person, @PathVariable Integer personId)
{
pojoService.deleteAddressPerson(personId);
return new ResponseEntity<>(HttpStatus.OK);
}
错误消息说明此参数是必需的,没有它的请求将不会被处理。
删除参数以解决问题。
我正在休息api。按 id 删除数据时出错。所有代码都已完成,但不知道为什么邮递员会引发错误。我可以使用 hibernate 将两个 table 映射为单向映射。
下面是邮递员的错误:
"message": "Required request body is missing: public org.springframework.http.ResponseEntity<org.springframework.http.HttpStatus> com.rest.RestApiPojo.Controller.PojoController.deleteAddressPerson(com.rest.RestApiPojo.Entity.Person,java.lang.Integer)"
下面是我的代码:
实体
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer person_id;
private String name;
@JsonManagedReference
@OneToOne(cascade = CascadeType.ALL, mappedBy = "person")
private Address address;
// getter setter
}
@Table(name = "address_master")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer address_id;
private String city;
private String country;
@JsonBackReference
@OneToOne(cascade=CascadeType.ALL, targetEntity = Person.class)
@JoinColumn(name = "person_id")
private Person person;
// getter setter
}
SeviceImpl
@Override
public void deleteAddressPerson(Integer personId) {
personRepo.deleteById(personId);
}
控制器
@RequestMapping(value = "/dltpersonaddress/{personId}", method = RequestMethod.DELETE)
public ResponseEntity<HttpStatus> deleteAddressPerson(@RequestBody Person person, @PathVariable Integer personId)
{
pojoService.deleteAddressPerson(personId);
return new ResponseEntity<>(HttpStatus.OK);
}
您的控制器方法中有一个未使用的 @RequestBody Person person
参数。
@RequestMapping(value = "/dltpersonaddress/{personId}", method = RequestMethod.DELETE)
public ResponseEntity<HttpStatus> deleteAddressPerson(@RequestBody Person person, @PathVariable Integer personId)
{
pojoService.deleteAddressPerson(personId);
return new ResponseEntity<>(HttpStatus.OK);
}
错误消息说明此参数是必需的,没有它的请求将不会被处理。
删除参数以解决问题。