2

ASP.NET MVC 4 Web アプリケーションで Rest Webservice を作成しました。サービスを利用して requestbody を含むリクエストを送信する場合、入力パラメータ CoreMessage アイテムは常に null です。サンプル チュートリアルとサンプル コードをいくつか見ましたが、バグを修正できませんでした。

私の残りのクライアントのいくつかのコード

        CoreMessage message = new CoreMessage() { Source = "Dummy", Date = DateTime.Now, Data = "abcd" };
        var url = "http://localhost:12294/api/message";
        var method = "POST";
        string reponseAsString = "";
        try
        {
            var request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = method;

            using (Stream requestStream = request.GetRequestStream())
            using (StreamWriter writer = new StreamWriter(requestStream))
            {
                writer.Write(message);  
            }
        }
        catch (Exception ex)
        {
            reponseAsString += "ERROR: " + ex.Message;
        }

Post 関数を使用したコントローラーは次のようになります

public MessageRepository repository = new MessageRepository();

        public HttpResponseMessage PostMessage(CoreMessage item)
        {
            bool status = repository.TransmitMessage(item);
            var response = Request.CreateResponse<bool>(HttpStatusCode.Created, status);

            return response;
        }

私のモデル

public class CoreMessage
{
    public string Source { get; set; }
    public DateTime Date { get; set; }
    public string Data { get; set; }
}
4

1 に答える 1