Sql Azureデータベースでcrudを実行するためにput、post、getおよびdeleteを記述したAsp.Net Web APIを作成しました。データベースとAPIはともにMicrosoft Azureで公開されています。私は正常にGETコントローラを呼び出し、ブラウザでデータをフェッチすることができます。私は、ハードコードされたデータをコンソールアプリケーション経由でポストしようとすると、何もしません(エラーも例外も与えません)。下記のウェブAPIコントローラです:Microsoft AzureでホストされているAsp.Net Web APIにデータを投稿できない
public HttpResponseMessage Post([FromBody] Product prod)
{
try
{
se.Products.Add(prod);
se.SaveChanges();
var message = Request.CreateResponse(HttpStatusCode.Created, prod);
message.Headers.Location = new Uri(Request.RequestUri + prod.Product_ID.ToString());
return message;
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
}
}
Method from the client console app to send data is shown in this picture
私はそれで何を得なかっresponse.Responseにブレークポイントを置くことによって、この方法を検査しようとしましたが、不正な要求を示しました。 Here is the screenshot to it.
晴れ日にホストされているWeb APIを介してデータベースにデータを正常に投稿する方法を教えてください。ありがとう:)
GermanCH、優れたアイデアをコントローラに送信する前に、パラメータを文字列化。アリは、最初のステップは正常にエンドポイントをヒットポストマンやFiddler4を使用してHTTP POSTリクエストを構築することである。あなたがそうすることができない場合は、してくださいまた、 Productクラスを投稿してください。これらのツールのいずれかを使用してリクエストを作成すると、呼び出しメソッドが送信され、その違いを参照してください。 –
ありがとう!私はAPIの私の実際のアドレスにそれがホストされているか、localhostにホストされているかの投稿要求を送信する必要がありますか?私はそれが完璧に動作し、ローカルデータベースにデータを投稿するlocalhostのためにそれを試しました。 –
APIがホストされているアドレスにデータを投稿しようとしましたが、コンソールクライアントアプリケーションと同じレスポンス、つまりError:400 Bad Requestが返されました。 –