私は一生これを理解することはできません。Get メソッドと Post メソッドを備えた Web API コントローラーがあります。Get メソッドはパラメーターの有無にかかわらず正常に動作しますが、String パラメーターを追加しようとするとポストが壊れます。以下は私のコードです。
ルート:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}",
defaults: new { id = UrlParameter.Optional }
);
コントローラ:
public class AuditController : ApiController
{
public String Post(String test)
{
return "Success : " + test;
}
public String Get(String test)
{
return "Success : " + test;
}
}
リクエスト:
var request = WebRequest.Create("http://localhost:42652/Audit");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
using (var writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write("test=TEST");
}
WebResponse webResponse = request.GetResponse();
リクエストに対して多くのバリエーションを試しましたが、何か単純なものが欠けているように感じます。ご協力いただきありがとうございます。