Bir API örneği uygulamak için birçok ServiceStack'i kullanmaya başladım ve birçok örneği inceledim, bazı örnekler HttpResult'u hizmetten döndürüyor ve diğerleri de tercih edilen ResponseDTO'yu döndürüyor mu?Servis Yığını - İade HttpResult veya ResponseDTO
5
A
cevap
6
Yalnızca Yanıt DTO'yu döndürmek, temel olarak varsayılan davranıştan memnun olduğunuz anlamına gelir ve hizmetiniz yanıt gövdesini istediği İçerik Türü'ne serileştirildiği şekilde döndürecektir.
HttpResult, Hizmetinizin Yanıt'a ek olarak ek HTTP özelleştirmeleri eklemesi gerektiğinde geçerlidir (örn. Ek HTTP Üstbilgileri) - ancak HTTP Yanıt gövdesinin tel formatını değiştirmez (İçeriği değiştirmezseniz) - Yanıtın serileştirildiğini değiştirecek tür). HttpResult Yanıtı özelleştirmek için sadece bir yolu olmasına rağmen
, burada birkaç diğerleri:
public class HelloService : Service
{
public object Get(Hello request)
{
//1. Returning a custom Response Status and Description with Response DTO body:
var responseDto = ...;
return new HttpResult(responseDto, HttpStatusCode.Conflict) {
StatusDescription = "Computer says no",
};
//2. Throw or return a HttpError:
throw new HttpError(System.Net.HttpStatusCode.Conflict, "SomeErrorCode");
//3. Modify the Request's IHttpResponse
base.Response.StatusCode = (int)HttpStatusCode.Redirect;
base.Response.AddHeader("Location", "http://path/to/new/uri");
}
//4. Using a Request or Response Filter
[AddHeader(ContentType = "text/plain")]
public string Get(Hello request)
{
return "Hello, {0}!".Fmt(request.Name);
}
}
fazla bilgi için Customize HTTP Responses yazısını okuyun.
İlgili konular
- 1. servis çalışanı kaydı iade edilmiyor
- 2. Servis veya Sınırlama Hizmeti?
- 3. Servis Yığını Redis sunucusu yeniden başlatıldıktan sonra yeniden bağl.
- 4. özel açısal servis veya denetleyici
- 5. , Windows yığını
- 6. PGP Servis
- 7. Servis komutu
- 8. geri yığını
- 9. Çağrı yığını
- 10. "Yığını kaldır"
- 11. Kayıtların İade Edilmesi Güncellendi
- 12. Diskte uygulanan FIFO kuyruğu (veya yığını), ram değil (tercihen C++)
- 13. Instagram API iade edilmiyor
- 14. Request.getAttribute ("javax.servlet.request.X509Certificate") İade
- 15. AngularJS: Genel menü sağlayıcı, servis veya rootScope için doğru yer?
- 16. Servis görevlisi olarak kendini veya bunu kullanmalı mıyım?
- 17. Cronjob: Web Servis sorgusu
- 18. NativeScriptException: Bozuk gezinme yığını
- 19. React.js için NoSQL yığını nedir?
- 20. Linux Yığını nedir?
- 21. Dizide Yığını Dizgiye Bölme
- 22. Güvenli iplik yığını boyutu?
- 23. Çağrı yığını nasıl kaldırılamadı?
- 24. Web hizmeti yığını nedir?
- 25. Android Etkinlik Yığını Çıkarma
- 26. Yığını genişletir Vector
- 27. Büyük Monad yığını örneği
- 28. AngularJS: üretimde hata yığını yakala
- 29. iphone'da uygulama yığını boyutu nedir?
- 30. WCF tarafından iade edilen istemcide erişim nesnesi
Hızlı yanıt için teşekkürler –