Как получить пользовательский объект в Java Spring? - PullRequest
0 голосов
/ 19 ноября 2018

Я использую Java-пружину для своего сервера.

У меня вопрос, как я могу получить пользовательский объект через контроллер.

Пример того, что я имею в виду:

Я знаю, что могу сделать это, выполнив две функции:

      @RequestMapping(
        path = arrayOf("getObject", "getObject/"),
        method = arrayOf(RequestMethod.GET))
open fun getRecord1(@RequestBody data: CustomObjectOption1): ResponseEntity<*> {
    return ResponseEntity<Any>(data.name,HttpStatus.OK)

}

     @RequestMapping(
        path = arrayOf("getObject", "getObject/"),
        method = arrayOf(RequestMethod.GET))
open fun getRecord2(@RequestBody data: CustomObjectOption2): ResponseEntity<*> {
    return ResponseEntity<Any>(data.number,HttpStatus.OK)

}

но я хочу сделать это только с одной конечной точки:

 @RequestMapping(
        path = arrayOf("getObject", "getObject/"),
        method = arrayOf(RequestMethod.GET))
open fun getRecord(@RequestBody data: CustomObjectOption): ResponseEntity<*> {

  if(data instance option1)
    return ResponseEntity<Any>(data.name,HttpStatus.OK)

еще вернуть ResponseEntity (data.number, HttpStatus.OK) еще }

такой, что объект может быть таким:

вариант 1:

  public class CustomObject {

      private String name;
      private Long id;

   }

или вариант 2:

     public class CustomObject {

      private List<Integer> number;
      private List<Long> count;

   }

Возможно ли это сделать весной в яве?

Единственное решение, о котором я думал, это использовать наследование , но я хотел бы знать, есть ли другой способ ...

Спасибо за помощь

1 Ответ

0 голосов
/ 20 ноября 2018

Так же, как вы написали, вы можете сделать это так:

@RequestMapping(...)
public void method(@RequestBody YourCustomClass body)

YourCustomClass может быть либо вариантом 1, либо вариантом 2.

И это все :) 1007 *

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