タグ付けされた質問 「asp.net-web-api-routing」

18
Web APIのリクエストに一致する複数のアクションが見つかりました
2つの "Get"メソッドを実行しようとすると、このエラーが発生し続ける リクエストに一致する複数のアクションが見つかりました:webapi 私はこれについてスタックで他の同様の質問を見回していますが、わかりません。 2つの異なる名前があり、「HttpGet」属性を使用しています [HttpGet] public HttpResponseMessage Summary(MyVm vm) { return null; } [HttpGet] public HttpResponseMessage FullDetails() { return null; }

30
ポストパラメータは常にnullです
WebAPIをRCにアップグレードしてから、私のWebAPIでPOSTを呼び出すときに、本当に奇妙な問題が発生しています。新しいプロジェクトで生成された基本的なバージョンに戻りました。そう: public void Post(string value) { } Fiddlerからの呼び出し: Header: User-Agent: Fiddler Host: localhost:60725 Content-Type: application/json Content-Length: 29 Body: { "value": "test" } デバッグすると、文字列「値」が割り当てられません。常にNULLです。この問題を抱えている人はいますか? (私は最初により複雑なタイプの問題を見ました) この問題はASP.NET MVC 4に限定されているだけでなく、RCのインストール後の新しいASP.NET MVC 3プロジェクトでも同じ問題が発生します。

3
誰かがCreatedAtRoute()を私に説明できますか?
Web API 2のテンプレートから、postメソッドは常に次のようになります。 [ResponseType(typeof(MyDTO))] public IHttpActionResult PostmyObject(MyDTO myObject) { ... return CreatedAtRoute("DefaultApi", new { id = myObject.Id }, myObject); } 私はこのCreatedAtRoute()方法を理解していません。誰かCreatedAtRoute()が私に方法を説明できますか?

11
Web APIコントローラーの複数のHttpPostメソッド
MVC4 Web APIプロジェクトを使い始めましたHttpPost。複数のメソッドを持つコントローラーがあります。コントローラは次のようになります。 コントローラ public class VTRoutingController : ApiController { [HttpPost] public MyResult Route(MyRequestTemplate routingRequestTemplate) { return null; } [HttpPost] public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate) { return null; } } 以下MyRequestTemplateは、リクエストを介して送信されるJsonの処理を担当するテンプレートクラスを表します。 エラー: Fiddler forを使用してリクエストを行うhttp://localhost:52370/api/VTRouting/TSPRouteかhttp://localhost:52370/api/VTRouting/Route 、エラーが発生します。 リクエストに一致する複数のアクションが見つかりました 上記の方法のいずれかを削除すると、正常に動作します。 Global.asax でデフォルトのルーティングテーブルを変更しようとしましたがglobal.asax、それでもエラーが発生します。global.asaxでルートを定義するときに問題があると思います。これが、global.asaxで行っていることです。 public static void RegisterRoutes(RouteCollection routes) { routes.MapHttpRoute( name: "MyTSPRoute", routeTemplate: "api/VTRouting/TSPRoute", defaults: …

8
ASP.NET Web APIのカスタムメソッド名
WCF Web APIから新しいASP.NET MVC 4 Web APIに変換しています。UsersControllerがあり、Authenticateという名前のメソッドが必要です。GetAll、GetOne、Post、およびDeleteの方法の例が表示されますが、これらのサービスにメソッドを追加したい場合はどうなりますか?たとえば、UsersServiceには、ユーザー名とパスワードを渡すAuthenticateというメソッドが必要ですが、機能しません。 public class UsersController : BaseApiController { public string GetAll() { return "getall!"; } public string Get(int id) { return "get 1! " + id; } public User GetAuthenticate(string userName, string password, string applicationName) { LogWriter.Write(String.Format("Received authenticate request for username {0} and password {1} …

3
Web API属性ルーティングのオプションパラメーター
次のAPI呼び出しのPOSTを処理したい: /v1/location/deviceid/appid 追加のパラメータはポストボディから取得されます。 これはすべて私にとってうまくいきます。ここで、「deviceid」や「appid」、および/またはBodyDataをnullにして、コードを拡張します。 /v1/location/deviceid /v1/location/appid /v1/location/ これら3つのURLは同じルートで応答する必要があります。 私の最初のアプローチ(BodyDataが必要): [Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")] public location_fromuser Post(string deviceid = null, string appid = null, [FromBody] location_fromuser BodyData) { return repository.AddNewLocation(deviceid, appid, BodyData); } これは機能せず、コンパイルエラーを返します: 「オプションのパラメータは最後にある必要があります」 次の試み: [Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")] public location_fromuser Post([FromBody] location_fromuser BodyData, string deviceid = null, string appid …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.