代码之家  ›  专栏  ›  技术社区  ›  thatismatt

根据URL中的扩展返回不同内容类型的最简单方法是什么?

  •  1
  • thatismatt  · 技术社区  · 16 年前

    我希望能够更改url的扩展名,并以不同的格式接收模型。

    /products/list

    返回包含产品列表的html页面,然后

    /products/list.json

    我喜欢这本书的简朴 ASP.NET MVC REST SDK ,它只需要大约5行代码就可以挂接它,但格式被指定为查询字符串参数,即。 /products/list?format=json

    4 回复  |  直到 16 年前
        1
  •  1
  •   Haacked    16 年前

    我写了一篇博客文章,展示了一个可能的例子。这有点复杂,但可能适合你的需要。

    http://haacked.com/archive/2009/01/06/handling-formats-based-on-url-extension.aspx

        2
  •  0
  •   Nick Larsen    16 年前

        3
  •  0
  •   Jon Moore    16 年前

    如果您可以灵活地在服务前面删除Apache或类似的东西,那么您可以始终使用 mod_rewrite 重写外部文件 http://products/list.json http://products/list?format=json 您的框架可以更容易地渲染。

        4
  •  -1
  •   3Dave    16 年前

    您可以选择“list/json”并使用类似于

    {controller}/{action}/{id}

    然后调用ProductController.List,ID参数为“json”。然后,.List()操作将决定是否返回HTML视图或JSON内容。

    推荐文章