Java Spring-Angularjs-DELETE方法

Java Spring-Angularjs-DELETE方法,java,angularjs,spring,h2,Java,Angularjs,Spring,H2,我对删除方法有问题。我尝试按请求主体删除实体 控制器: @RequestMapping(value = "/remove", method = DELETE) public void remove(Package pack) { packageRepository.delete(pack); } 和AngularJS: $http({ method : 'DELETE', url : '/api/package/remove',

我对删除方法有问题。我尝试按请求主体删除实体

控制器:

 @RequestMapping(value = "/remove", method = DELETE)
 public void remove(Package pack) {  
   packageRepository.delete(pack);   
}
和AngularJS:

    $http({
        method : 'DELETE',
        url : '/api/package/remove',
        data : pack

    }).then
其中pack是一个实体。我该怎么办?我一直在收到消息:缺少必需的请求正文:public javax.xml.ws.Response com.controller.PackageController.removecom.model.Package

课程包:

@Entity
@Data
@Table(name = "Package")
@NoArgsConstructor
@AllArgsConstructor
public class Package {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String name;

private String description;

private Double weight;

private Double xDimension;

private Double yDimension;

private Double zDimension;

private Double capacity;

private LocalDateTime whenTake;

private String timeString;


@OneToOne
private User user;

@OneToOne
private Warehouse warehouse;

@ManyToOne
@Null
@JsonIgnore
private Route route;
}
Json正文:

 capacity: 20
 description: "Kolo jest okrągłe"
 id: 1
 name: "Koła Audi"
 timeString: "2017-11-24 18:43:23"
 user: {…}
   address: "Graniczna 25"
   email: null
   firmName: "Swinouscie Comapny"
   firstName: "Karol"
   id: 1
   lastName: "Cichowski"
   telephoneNumber: "700880774"
 warehouse: {…}
   address: "Sportowa 16"
   id: 1
   name: "Magazyn Amazon"
   telephoneNumber: "74-816-342-465"
weight: 29
whenTake: null
xDimension: null
yDimension: null
zDimension: null

将您的包注释为请求正文:

@RequestMapping(value = "/remove", method = DELETE)
  public void remove(@RequestBody Package pack) {  
  packageRepository.delete(pack);   
   }

难道身体只是被忽略了吗?请在AngularJS中发布包类和包的相关代码,但我还应该发送什么?只有身份证吗?我尝试使用@PathVariable,但在Firefox中使用F12仍然会出现同样的错误,我看到了一个包的Json正文,并且是正确的。我尝试使用headers=content-type=application/x-www-form-urlencoded,但它的dosnt工作原理我认为更常见的是在删除时传递id,可以将id添加为querystring参数。而不是将package作为您的返回类型,并在删除包返回包后在方法内部;我得到了200->F12我看到了一个我发送并输出的body参数answer->所有包参数都是空的。但当我刷新页面并尝试获取所有存在的元素时,仍然会看到我删除的元素;/我在h2中看到表,这个元素仍然存在。@MikeEvans然后你在点击控制器,但现在你的问题是持久性?持久性?你能解释一下吗?