HATEOAS kısıtlaması ile bir REST hizmeti oluştururken, bağlantı yoluyla kaynakların varlığını tanıtmak çok kolaydır. Bir yapmak GET
sitemde ve tüm birinci kademe kaynaklarını listeleyen kök belgesiyle ben cevabın köküne:
{
users: { href: "/users" }
questions { href: "/questions" }
}
Bu href
değerlerin nasıl okunacağını anlayan istemciler bu GET
istekleri gerçekleştirebilir ve uygulamada mevcut olan tüm kaynakları keşfedebilir.
Bu, temel arama senaryoları için iyi çalışır, ancak bir kaynağın sorgulanabilir olup olmadığını göstermez. Örneğin, şunları yapmak makul olabilir:
GET /users?surname=Smith
Bu sorgu yeteneğini, bir istemcinin kaynak hakkında önceden bilgi sahibi olmadan tutarlı bir sorgu oluşturabileceği yeterli bilgi ile ifade edebilecek formatlar var mı?
Ayrıca, bir istemcinin POST
belirli bir konuma, beklenen bir konuma sahip olmasına izin verildiğini ifade etmenin herhangi bir yolu var mı ? Örneğin, bir istemcinin yeni bir soru kaynağı oluşturmak için aşağıdakileri gerçekleştirmesi beklenebilir:
POST /questions
{
title: "Are there strategies for discovering REST services using HATEOAS?",
body: "When building a REST service with the HATEOAS constraint, it's very..."
}
HTML'yi insan tüketimi için format olarak kullanırken, bir insanın bir hizmet üzerinde gerçekleştirmesine izin verilen işlemleri keşfetmesini sağlamak için formlar ve yazılı bilgi istemleri kullanarak bunların çoğunu ifade edebiliriz.
İstemciler için benzer şeyler yapabilen biçimler var mı?