Есть ли способ опубликовать несколько запросов, используя один метод сообщения Spring Boot - PullRequest
0 голосов
/ 11 июня 2018

Например, у меня есть таблица пользователей и таблица заказов, и я хочу добавить сведения о нескольких заказах для одного и того же пользователя, но используя метод Post только один раз.Есть ли способ сделать это ??

Вот контроллер заказа:

@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);
}

Объект заказа: -

@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;
    }

}

Я хочу использовать один и тот же метод публикации в Контроллере заказов, размещать несколько заказов для одного ИД пользователя

1 Ответ

0 голосов
/ 11 июня 2018

Да, определенно.Предположим, вы хотите разместить несколько заказов в одном запросе.Рассмотрим, что у каждого заказа есть свойства, такие как orderName, orderNumber и так далее.Таким образом, вы можете сделать это следующим образом:

Запрос Json

{  
   "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
    }

Где Order должно быть простым pojo с необходимыми параметрами / полями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...