Передать ID или Объект, который имеет не относящиеся к делу детали, как RequestBody в Rest Call? - PullRequest
1 голос
/ 25 февраля 2020

Подход 1:

@PostMapping("/api/{id}")
String getSomeObj(int id){
    //make another rest call with id and get CustomObj
    // then do some logic and return something
    //Here response time will be more as it has again another rest calls

}

Подход 2:

@PostMapping("/api/{id}")
String getSomeObj(@PathParam("id") int id, @RequestBody CustomObj obj){
    //directly do logic with the provided obj and return something
    //Here Response time would be less as we are directly getting the actual Object from Request Body
    //BUT is this a good practise to pass an object in which we need only few details?
}

Q1) Все Я есть спрашивать стоит ли передавать просто id или Object? Если идентификатор передан, другой вызов Rest должен быть сделан без необходимости. Если Object передан, мы можем избежать повторного вызова rest, НО проблема в том, что этот пользовательский объект может также содержать некоторые ненужные детали. Итак, это правильно?

Q2) Если при передаче с идентификатором время отклика будет больше при сравнении с просто передаваемым объектом. Итак, я не понимаю, какой подход следует использовать ..

1 Ответ

1 голос
/ 29 февраля 2020

А1) Это все зависит от вас, и не существует "одного правильного" пути. Я бы сказал, если это маленький объект, передайте объект и быстро отреагируйте. Если это большой объект, передайте идентификатор. Как вы определяете большие и маленькие объекты? если объект имеет хэш-карты или списки, это большой объект. Также вы можете игнорировать сериализацию внутренних органов; отметьте https://www.baeldung.com/jackson-ignore-properties-on-serialization

A2) Передайте идентификатор и наслаждайтесь услугой REST. Ведь REST очень быстрый. Не беспокойтесь о скорости звонков. Если ваша бэкэнд-функция работает быстро и если вы добавили gif-файл «loading» в начало; пользователи будут ждать ответа.

...