Siren é uma especificação para representar hyperlinks em uma API, facilitando a navegação e descoberta de recursos. É um formato de hipermídia que visa ser simples e flexível para representar o estado de um recurso e as ações que podem ser realizadas nesse recurso.
Características Principais:
rel
(relação) que descreve o tipo de relação e um href
(URL) que indica o destino do link.href
(URL para executar a ação), um method
(verbo HTTP) e um fields
(conjunto de campos que precisam ser enviados com a requisição).Vantagens de usar Siren:
Exemplo:
{
"class": ["order"],
"properties": {
"orderNumber": 123,
"status": "pending"
},
"entities": [
{
"class": ["items", "collection"],
"rel": ["http://example.com/rels/order-items"],
"href": "http://api.example.com/orders/123/items"
}
],
"actions": [
{
"name": "add-item",
"title": "Add Item",
"method": "POST",
"href": "http://api.example.com/orders/123/items",
"fields": [
{ "name": "name", "type": "text" },
{ "name": "quantity", "type": "number" }
]
}
],
"links": [
{ "rel": ["self"], "href": "http://api.example.com/orders/123" }
]
}
Este exemplo representa um pedido (order
). Contém propriedades como orderNumber
e status
. Possui uma entity incorporada que representa os itens do pedido. Tem uma action para adicionar itens ao pedido e um link para o próprio pedido.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page