加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用asp.net mvc进行基于REST的端点

发布时间:2020-12-16 00:18:18 所属栏目:asp.Net 来源:网络整理
导读:我正在寻找使用ASP.Net MVC作为基于REST的服务的平台.我知道WCF内置了对REST服务的支持;但是,我正在考虑根据请求返回多种类型的数据. 我希望客户端请求内容类型.因此,如果他们发送text / html例如我将我的模型渲染为Html,如果他们请求text / xml,它将返回xml
我正在寻找使用ASP.Net MVC作为基于REST的服务的平台.我知道WCF内置了对REST服务的支持;但是,我正在考虑根据请求返回多种类型的数据.

我希望客户端请求内容类型.因此,如果他们发送text / html例如我将我的模型渲染为Html,如果他们请求text / xml,它将返回xml.我们也可以做JSON.

有没有人看到这个问题?

不使用WCF会在调用服务时增加客户端的复杂性,因为它们无法自动生成代理;但是,就我而言,客户端将是浏览器请求html,或者是处理xml的java客户端库.

由于没有使用WCF,我们需要保护服务;但是,我想我们可以使用表单身份验证来完成此操作.

这样做的好处是,无论客户端请求什么类型的数据,它都通过相同的控制器/模型等…

解决方法

哈克的解决方案当然不是最好的解决方案,尽管这是一个很好的起点.

对于初学者,如果您正在使用实体框架(或者决定稍后从Linq切换到SQL),JsonResult将会中断,因为它无法使用循环引用(通常是大多数数据模型)序列化对象图.其次,它为同一资源公开了多个端点.

执行此操作的正确方法是查看X-Requested-With HTTP标头以确定这是否是XHR请求.或Content-Type:XML的text / xml请求标头.

我建议您安装适用于模拟XHR请求的REST testing的Firefox插件. Tamper Data插件和其他一些插件可以更好地控制测试/调试. WFetch是一个直接的原始HTTP请求工具,对于测试和调试也很重要.

我为此做了一个JSON/POX action filter.您只需要使用[JsonPox]属性修饰类或方法,它们将根据客户端自动显示为JSON或XML.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读