AspNet Web Api自定义路径不适用于路径路由中的.json结尾

时间:2020-09-03 21:11:00

标签: asp.net vb.net asp.net-web-api

我从Visual Studio 2019创建了一个Web API类型的新项目 我希望我的端点像/api/products.json一样,但不起作用

   <Route("/api/products.json")>
   <HttpGet()>
   Public Function RetriveData() As ListarRes

    Return New ListarRes()
   End

当我运行项目时,摇摇欲坠显示完美,但是如果我测试它,则会返回错误404

在配置中启用了MapHttpAttributeRoutes()

问题是由于我选择了“ .json”

   <Route("/api/products")>

它有效,所以我应该如何创建自定义路由?

1 个答案:

答案 0 :(得分:0)

很好,很简单

asp.net Web API-使用样式

扩展==具体处理程序

所以我创建了模拟处理程序,它起作用了

Public Class AppJsonExtension
  Implements IHttpHandler

  Public ReadOnly Property IsReusable As Boolean Implements IHttpHandler.IsReusable
    Get
        Return False
    End Get
  End Property

  Public Sub ProcessRequest(context As HttpContext) Implements IHttpHandler.ProcessRequest

  End Sub

End Class

并在web.config中添加了

<system.webServer>
  <handlers>
    ...
    <add name="JsonHandler" path="*.json" verb="*" type="TestApp.AppJsonExtension, TestApp" />
  </handlers>
</system.webServer>