_link модель - HATEOAS

Меня попросили внедрить HATEOAS как часть нашего rest API, и именно так ответ определяется в спецификациях Swagger.

_links: 
[
 {
rel:    
 string
The relationship to the request e.g. self which contains the resource that was requested or {object name}, a link to a resource that is related to the requested resource
action: 
[
 {
    httpVerb:   
         string
        Allowed actions for this link based on the users permissions
        Enum:
        Array[4]
           0:"GET"
           1:"POST"
           2:"PUT"
           3:"DELETE"
   }
]
    href:   
      string
      A fully qualified URL to the resource.
  }
]

rel и href имеют смысл, и я мог бы найти много примеров для этих двух, но ничего не нашел для actions. Это часть стандарта? Я действительно должен отправить его обратно?

Я использую библиотеку Spring hatoas, и она точно не поддерживает actions. Любое руководство по этому вопросу будет ценным.

Спасибо.


person VKB    schedule 11.03.2017    source источник
comment
Провел небольшое исследование. Palpal использует этот формат [ссылка] (developer.paypal.com /docs/api/hateoas-links/#the-link-object), но формат HAL отличается, и я обнаружил, что изменить формат Spring HATEOAS HAL не так просто.   -  person VKB    schedule 12.03.2017
comment
Это часть стандарта? Какой стандарт вы имеете в виду? Вы ничего не упоминаете в своем вопросе. А в чем ваш собственно вопрос?   -  person a better oliver    schedule 12.03.2017
comment
Извините, в моем вопросе не было ясности. Я имел в виду стандарты HAL. HAL не определяет действие. Существует ли стандарт, предписывающий, чтобы действие определялось как часть спецификаций?   -  person VKB    schedule 13.03.2017


Ответы (1)


Что интересно, так это то, что _links (с подчеркиванием) относится к HAL, поэтому я не ожидаю, что спецификация, которую вы получили, будет соответствовать какому-либо стандарту.

Я знаю один стандарт, который включает actions, это SIREN, но они отличаются от action в вашем примере.

Многие REST API даже не RESTful, не говоря уже о HATEOAS. Таким образом, ценность следования определенному стандарту (или «стандарту») пока является спорной.

person a better oliver    schedule 13.03.2017
comment
Спасибо, ZeroflagL. Я с тобой согласен. За последние пару дней я много читал об этом и, похоже, слишком рано следовать одному стандарту. Вот список многих существующих стандартов, если они кому-то нужны: HAL ссылка HYDRA ссылка Collection + JSON ссылка JSON API ссылка SIREN ссылка JSON-LD ссылка - person VKB; 13.03.2017