Yani burada yeni bir şey yok, sadece biraz açıklama almaya çalışıyorum ve diğer yazılarda bulamıyorum.
Ben yeni bir kaynak restulfully oluşturuyorum, demek:
/books (POST)
bir vücut ile:
{
title: 'The Lion, the Witch and the Wardrobe',
author: 'C. S. Lewis'
}
Yeni kaynağın bir Konum başlığı ile 201 (Oluşturuldu) dönmek gerektiğini biliyorum:
Location: /books/12345
Kendime cevap veremediğim soru, sunucunun vücuda ne dönmesi gerektiğidir.
Sık sık bu tür bir yanıt yaptık:
{
id: 12345,
title: 'The Lion, the Witch and the Wardrobe',
author: 'C. S. Lewis'
}
Bunu birkaç nedenden dolayı yaptım:
- Angularjs gibi ön uç çerçeveler için API yazdım. Benim özel durumumda açısal kaynakları kullanıyorum ve genellikle kaynağın onu bulması için sadece kimliğe ihtiyacım var. Yanıt gövdesinde kimliği döndürmediysem, Konum başlığından ayrıştırmam gerekirdi.
- Tüm kitapların GET'inde genellikle sadece kimliği değil, tüm nesneyi döndürürüm. Bu anlamda, müşteri kodumun kimliğin nereden alınacağını ayırt etmesi gerekmez (konum üstbilgisi veya gövde).
Şimdi buradaki gri alanda olduğumu biliyorum, ama çoğu insan kaynağın tamamını geri vermenin 'kötü' bir uygulama olduğunu söylüyor. Peki ya sunucu değişiyorsa / kaynağa bilgi eklerse. Kesinlikle kimliği ekler, ancak zaman damgası gibi başka şeyler de ekleyebilir. Tüm kaynağı geri vermemem durumunda, bir POST yapmak, kimliği döndürmek, daha sonra istemcinin yeni kaynağı almak için bir GET gerçekleştirmesini gerçekten daha iyi mi?