我正在编写一个 http API,我需要比我在 asp.net 中习惯的更多的灵 active 。这是我遇到的非常简单的问题,只需要一些帮助才能走上正轨。
我的问题是,我想根据请求创建一个响应对象。 F.x 用户在请求时可以获得一个 xml 文档:“myapi/images/5/xml”。或者如果它以 json 结尾,则将其作为 json 获取。创建正确的响应对象没有问题。我只需要一种方法来收集某个对象中的所有请求,然后使用正则表达式解析 URL 并创建正确的响应。
但是我如何收集 Web 应用程序上的所有请求?
最佳答案
您可能不想使用正则表达式解析整个 URL。连接到 ASP.NET 的路由引擎可能会更容易:-
routes.MapHttpRoute(
name: "MyApi",
routeTemplate: "myapi/{controller}/{id}/{responseType}",
defaults: new
{
id = RouteParameter.Optional, responseType = RouteParameter.Optional
});
然后您的操作方法可以接受来自 url 的参数 responseType
。
我同意上面 steven 的评论,不过,您可能应该从请求 header 而不是从 url 获取响应类型。
关于c# - 创建我自己的 "URL Manager",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13142502/