请求的资源不支持 vb.net web api 中的 http 方法 'GET'
The requested resource does not support http method 'GET' in vb.net web api
我在 vb.net 中的 Web API 2 上工作,我遇到了 GET 方法的问题。
首先,我可以将 HttpGet
或 AcceptVerbs
放在 class 或操作方法
上
我没有 Routeconfig
因为我创建了 Web API 2 employ 模板项目。
这是我的 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控制器class
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":"The requested resource does not support http method
'GET'."}
将 <HttpGet()>
属性添加到操作,以便您配置的基于约定的路由知道将操作与 GET
请求相关联。通常,约定会检查操作的名称,如 GetConcatValues
,以按照约定确定它是一个 GET
请求。由于示例操作未采用该约定,因此下一个选项是将 <HttpGet()>
属性附加到操作定义。
' 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
我在 vb.net 中的 Web API 2 上工作,我遇到了 GET 方法的问题。
首先,我可以将 HttpGet
或 AcceptVerbs
放在 class 或操作方法
我没有 Routeconfig
因为我创建了 Web API 2 employ 模板项目。
这是我的 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控制器class
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":"The requested resource does not support http method 'GET'."}
将 <HttpGet()>
属性添加到操作,以便您配置的基于约定的路由知道将操作与 GET
请求相关联。通常,约定会检查操作的名称,如 GetConcatValues
,以按照约定确定它是一个 GET
请求。由于示例操作未采用该约定,因此下一个选项是将 <HttpGet()>
属性附加到操作定义。
' 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