Что мне делать со ссылками, возвращаемыми после вызова REST API?

Я строю интерфейс для проекта. Я использую Angular2 для интерфейса. API, который я должен вызвать, RESTful. Он реализует HATEOAS. Когда я вызываю API, он дает мне данные и ссылки. Эти ссылки от HATEOAS. Когда я вызываю API, я должен сохранять данные, а также ссылки HATEOAS в модели или только данные. Например: вызов API: localhost:/api/users/ дает мне следующий ответ:

{
 "id":"105",
 "name": "John"
 "salary": "10000",
 "links": {
         "getSalary": {
         "method": "GET",
         "url": "/api/users/105/salary",
         "headers": [
           "X-Auth-Token",
           "Content-Type"
          ],
         "body": null
}

Итак, что мне делать с частью ссылок? Должен ли я сохранять ссылки в модели во внешнем интерфейсе или только соответствующие данные, такие как идентификатор, имя, зарплата и т. д.? В части ссылок будут другие ссылки, также объясняющие ссылки POST, PUT, DELETE и т. д.


person kanra-san    schedule 14.11.2016    source источник


Ответы (2)


Должен ли я сохранить ссылки в модели на переднем конце

Вы не должны не сохранять URL-адрес своей модели данных во внешнем интерфейсе. Либо:

  1. используйте URL-адрес, чтобы получить больше данных, которые вам нужны; или же
  2. выкинь если не нужен
person Nicholas Shanks    schedule 02.01.2017

Зависит от того, каков вариант использования.

  • если вам нужно просто отобразить имя, ничего делать не нужно;
  • если вам нужно также отобразить зарплату, сохраните имя, а затем «перейдите» по ссылке, чтобы получить зарплату (это немного странно, потому что похоже, что она у вас уже есть ... хотя вам, вероятно, также нужен какой-то вид CurrencyISO );
  • если, например, вы находитесь в сценарии списка, и вам нужно отображать только имя на данный момент, но вам может потребоваться отобразить зарплату, если вы углубитесь в пользователя, вы можете сохранить ссылку и переходить по ней только при необходимости.
person Alexandru Marculescu    schedule 14.11.2016