2017-01-10 4 views
0

以下のコードに基づいて、私は/ API /カードおよび/ API /カード/リストが、現在は/ API /カード/ 1234567890複数のPOSTを使用してWebアピコントローラおよび単一のPUTメソッド

WebApiConfig

を呼び出すことができますよ
config.Routes.MapHttpRoute(_ 
     name:="WithActionAndIdApi", _ 
     routeTemplate:="api/{controller}/{action}/{id}", _ 
     defaults:=New With {.id = RouteParameter.Optional} _ 
    ) 

    config.Routes.MapHttpRoute(_ 
     name:="WithIdApi", _ 
     routeTemplate:="api/{controller}/{id}" _ 
    ) 

    config.Routes.MapHttpRoute(_ 
     name:="DefaultApi", _ 
     routeTemplate:="api/{controller}", _ 
     defaults:=New With {.action = "DefaultAction"} _ 
    ) 

CardsController

<HttpPost()> 
<ActionName("DefaultAction")> 
Public Function PostValue(<FromBody()> ByVal value As Card_POST.Card) As HttpResponseMessage 

<HttpPost()> 
<ActionName("list")> 
Public Function PostValue(<FromBody()> ByVal value As Cards_POST.CardList) As HttpResponseMessage 

<HttpPut()> 
Public Function PutValue(ByVal Id As String, <FromBody()> ByVal value As Card_PUT) As HttpResponseMessage 
+0

質問してください。あなたが抱えている問題や解決しようとしていることは不明です。 – chambo

+0

PUTリクエストはどのようにして行われますか? – Mate

+0

@Mate、私はconfig.Routesを変更してこの問題を解決しました – belltric

答えて

1

私は以下のコードに私のconfig.Routesを変えたのだが、上記の私の状況をサポートすることができます。

config.Routes.MapHttpRoute(_ 
     name:="DefaultApiWithId", _ 
     routeTemplate:="api/{controller}/{id}", _ 
     defaults:=New With {.id = RouteParameter.Optional}, _ 
     constraints:=New With {.id = "^\d+$"} _ 
    ) 

    config.Routes.MapHttpRoute(_ 
     name:="DefaultApiWithAction", _ 
     routeTemplate:="api/{controller}/{action}" _ 
    ) 

    config.Routes.MapHttpRoute(_ 
     name:="DefaultApiGet", _ 
     routeTemplate:="api/{controller}/{id}", _ 
     defaults:=New With {.id = RouteParameter.Optional}, _ 
     constraints:=New With {.httpMethod = New HttpMethodConstraint({"GET"})} _ 
    ) 

    config.Routes.MapHttpRoute(_ 
     name:="DefaultApiPost", _ 
     routeTemplate:="api/{controller}", _ 
     defaults:=New With {.action = "DefaultPostAction"}, _ 
     constraints:=New With {.httpMethod = New HttpMethodConstraint({"POST"})} _ 
    ) 

    config.Routes.MapHttpRoute(_ 
     name:="DefaultApiPut", _ 
     routeTemplate:="api/{controller}/{id}", _ 
     defaults:=Nothing, _ 
     constraints:=New With {.httpMethod = New HttpMethodConstraint({"PUT"})} _ 
    ) 
関連する問題