8

電子メールに関する情報を受信して​​送信する非常に単純な REST マイクロサービスを作成しました。マイクロサービスの send メソッドは次のようになります。

//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);

私が持っている質問:

  1. これは電話をかけるのに最適な方法ですか? 明らかに、後でエラー処理などを追加する必要がありますが、RestSharp を使用して呼び出しを行う方法について詳しく説明しています。

  2. マイクロサービスが受け取ることを期待しているオブジェクトをアプリが知る必要があるのは少し不快だと思います.確実に知るために使用する定義/インターフェイス/コントラクトのようなものはありません。これは一般的にRESTで問題ないと受け入れられているのでしょうか、それともアプリが持つある種のインターフェースを実装して、もう少し定義された方法でマイクロサービスを呼び出せるようにする必要がありますか。それはRESTでも可能ですか?

助けてくれてありがとう!

4

4 に答える 4

4

REST サービスには、サービスの形式を定義するスキーマまたは WSDL タイプの関数がありません。これが、従来の Web サービスと比較して軽量になっている理由です。

WADL (Web Application Description Language) と呼ばれるものがありますが、これは実際には標準ではなく、広くサポートされていません。また、必要ないと感じている人が多いため、かなり物議を醸しています。

http://en.wikipedia.org/wiki/Web_Application_Description_Language

プログラマーに関するこのディスカッションも参照してください。

https://softwareengineering.stackexchange.com/a/133693/4368

于 2015-04-27T06:35:18.547 に答える