HATEOAS kısıtlaması ile bir REST hizmeti oluştururken, bağlantı yoluyla kaynakların varlığını tanıtmak çok kolaydır. Bir yapmak GETsitemde ve tüm birinci kademe kaynaklarını listeleyen kök belgesiyle ben cevabın köküne:
{
users: { href: "/users" }
questions { href: "/questions" }
}
Bu hrefdeğerlerin nasıl okunacağını anlayan istemciler bu GETistekleri 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 POSTbelirli 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ı?