请求的资源不支持http方法';获取';在vb.net web api中

请求的资源不支持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

我正在vb.net中开发WebAPI2,我发现GET方法有问题。 首先,我能够在类或动作方法上放置
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&param2=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作为字符串)作为字符串 返回“值” 端函数