我創建了一個非常簡單的REST微服務,它接收有關電子郵件的信息併發送它。該微服務發送方法看起來是這樣的:如何在.NET中調用微服務
//EmailController
[HttpPost]
public IHttpActionResult Send(Email email)
{
// send email via exchange
}
在我的應用
現在,我把它用RestSharp這樣的:
var client = new RestClient("http://localhost:51467/api/");
var request = new RestRequest("email/send", Method.POST);
request.RequestFormat = DataFormat.Json;
dynamic obj = new ExpandoObject();
obj.FromAddress = from;
obj.ToAddress = to;
obj.Subject = subject;
obj.Body = body;
request.AddBody(obj);
client.Execute(request);
問題,我有:
是這個最好的方式來打電話?顯然,我稍後必須添加錯誤處理等,但我更多地談論了使用RestSharp進行呼叫的方式。
我發現有點不舒服,我的應用程序需要知道微服務期望收到的對象是什麼 - 沒有一種定義/界面/合同,它確實用來知道。這通常被認爲對REST來說是可以接受的,或者我應該實現一些我的應用程序所具有的接口,以便它能夠以更多的定義方式調用我的微服務。這甚至可以用REST來實現嗎?
感謝您的幫助!
首先,僅僅因爲你的服務很小或者做得不多,不會使它成爲微服務。微服務有一個非常明確的含義,他們不需要安寧。 –