Spring boot 有没有办法使用一个post方法Spring Boot发布多个请求
例如,我有一个用户表和一个订单表,我想为同一个用户添加多个订单的详细信息,但只使用Post方法一次。 有没有办法做到这一点 这是订单控制器:Spring boot 有没有办法使用一个post方法Spring Boot发布多个请求,spring-boot,post,Spring Boot,Post,例如,我有一个用户表和一个订单表,我想为同一个用户添加多个订单的详细信息,但只使用Post方法一次。 有没有办法做到这一点 这是订单控制器: @RequestMapping(method = RequestMethod.POST,value = "/users/{userId}/orders") public List<Orders> addOrder(@RequestBody Orders order,@PathVariable BigInteger userId) { o
@RequestMapping(method = RequestMethod.POST,value = "/users/{userId}/orders")
public List<Orders> addOrder(@RequestBody Orders order,@PathVariable BigInteger userId) {
order.setUser(new User(userId," "," "," "));
ordersService.addOrder(order);
}
}
我想要的是使用Order Controller的相同post方法,为单个用户ID发布多个订单。假设您想在一个请求中发布多个订单。考虑每个订单都有属性,如“代码> OrthNoD< <代码>,<代码> OrthNo.< /代码>等。所以你可以这样做 Json请求 控制器方法
@RequestMapping(method=RequestMethod.POST,value=“/users/{userId}/orders”,consumes=MediaType.APPLICATION\u JSON\u value)
public List addOrder(@RequestBody List orders,@PathVariable biginger userId){
//你想干什么就干什么
}
其中,
Order
应该是一个简单的pojo,带有必需的参数/字段。到目前为止您尝试了什么?展示一些代码。我还没有弄清楚如何解决这个特殊问题。请将相关代码添加到您的问题中。
@Entity
public class Orders {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private BigInteger id;
private String date;
@ManyToOne
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Orders(){}
public Orders(BigInteger id, String date,BigInteger userId) {
super();
this.id = id;
this.date = date;
this.user=new User(userId," "," "," ");
}
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
{
"orders":[
{
"orderName":"order1",
"orderNumber":"Ref-1"
},
{
"orderName":"order2",
"orderNumber":"Ref-2"
}
]
}
@RequestMapping(method = RequestMethod.POST,value = "/users/{userId}/orders", consumes = MediaType.APPLICATION_JSON_VALUE)
public List<Orders> addOrder(@RequestBody List<Order> orders,@PathVariable BigInteger userId) {
//do whatever you want
}