请求的资源不支持http方法';获取';在vb.net web api中
我正在vb.net中开发WebAPI2,我发现GET方法有问题。 首先,我能够在类或动作方法上放置请求的资源不支持http方法';获取';在vb.net web api中,vb.net,asp.net-web-api,asp.net-web-api-routing,Vb.net,Asp.net Web Api,Asp.net Web Api Routing,我正在vb.net中开发WebAPI2,我发现GET方法有问题。 首先,我能够在类或动作方法上放置HttpGet或AcceptVerbs 我没有Routeconfig,因为我创建了WebAPI2Employ模板项目 这里是我的WebApiConfig文件 Public Module WebApiConfig Public Sub Register(ByVal config As HttpConfiguration) ' Web API configuration and
HttpGet
或AcceptVerbs
我没有Routeconfig
,因为我创建了WebAPI2Employ模板项目
这里是我的WebApiConfig
文件
Public Module WebApiConfig
Public Sub Register(ByVal config As HttpConfiguration)
' Web API configuration and services
' Web API routes
config.MapHttpAttributeRoutes()
config.Routes.MapHttpRoute(
name:="DefaultApi",
routeTemplate:="api/{controller}/{action}/{id}",
defaults:=New With {.id = RouteParameter.Optional}
)
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(New MediaTypeHeaderValue("text/html"))
End Sub
End Module
和api控制器类
Public Class HomeController
Inherits ApiController
' GET api/values
'Public Function GetValues() As IEnumerable(Of String)
' Return New String() { "value1", "value2" }
'End Function
' GET api/values/5
Public Function ConcatValues(ByVal param1 As String,ByVal param2 As String) As String
Return "value"
End Function
End Class
但当我运行url:http://localhost:43021/api/home/ConcatValues?param1=1¶m2=2
我得到一个错误:
{“Message”:“请求的资源不支持http方法
'获取'。“}
将
属性添加到操作中,以便您配置的基于约定的路由知道将该操作与GET
请求关联。通常,约定检查动作的名称,如GetConcatValues
,以按照约定确定它是一个GET
请求。由于示例操作未采用该约定,因此下一个选项是将
属性附加到操作定义
' GET api/home/concatvalues?param1=1¶m2=2
<System.Web.Http.HttpGet()>
Public Function ConcatValues(ByVal param1 As String,ByVal param2 As String) As String
Return "value"
End Function
获取api/home/concatvalues?参数1=1和参数2=2
公共函数ConcatValues(ByVal param1作为字符串,ByVal param2作为字符串)作为字符串
返回“值”
端函数