2

我正在编写一个 http API,我需要比我在 asp.net 中习惯的更多的灵活性。这是我遇到的非常简单的问题,只需要一些帮助才能走上正轨。

我的问题是,我想根据请求创建一个响应对象。Fx 用户在请求时可以获得 xml 文档:“myapi/images/5/xml”。或者如果它以 json 结尾,则将其作为 json 获取。创建正确的响应对象没有问题。我只需要一种方法来收集某个对象中的所有请求,然后使用正则表达式解析 URL 并在其上创建正确的响应。

但是如何收集 Web 应用程序上的所有请求?

4

1 回答 1

1

您可能不想使用正则表达式解析整个 URL。挂接到 ASP.NET 的路由引擎可能会更容易:-

routes.MapHttpRoute(
  name: "MyApi",
  routeTemplate: "myapi/{controller}/{id}/{responseType}",
  defaults: new
  {
    id = RouteParameter.Optional, responseType = RouteParameter.Optional
  });

然后您的操作方法可以接受responseType来自 url 的参数。

不过,我同意 steven 的上述评论,您可能应该从请求标头而不是从 url 中获取响应类型。

于 2012-10-30T15:51:37.750 回答