asp.net-web-api – 更好地总是在Web Api中返回HttpResponseMessage?

我一直在想这一段时间了,最​​好总是返回HttpResponseMessage web使用asp.net mvc web api?

当我加载默认的webapi项目时,我看到他们不在样例控制器中使用它

// GET api/values
        public IEnumerable<string> Get()
        {
            return new string[] { "value1","value2" };
        }

        // GET api/values/5
        public string Get(int id)
        {
            return "value";
        }

我以为HttpResponseMessage包装了一切,使它成为一个很好的Http请求.如果这是正确的,不仅仅是使用它的好处是什么?

解决方法

我总是返回HttpResponseMessage. Web API的要点是能够暴露HTTP api.假设你正在返回一个对象,然后依靠框架管道把对象转换成一个HTTPResponseMessage,就是模糊IMO的意图.

我有信心,如果您自己支付创建HttpResponseMessage的额外的前期成本,您将更好地了解Web API的实际工作原理.您将遇到更少的问题,因为您更有可能避免Web API执行您不期望的操作.您将更有可能利用HTTP功能,因为标题位于您的访问权限.

相关文章

项目要求通过网站上传大文件,比如视频文件,通过摸索实现了文件分片来上传,然后后台进行合并。 使用了...
安装新版本的Nginx(vim /etc/yum.repos.d/nginx.repo) [nginx-stable] name=nginx stable repo baseu...
什么是 SignalR&#160;ASP.NET Core ASP.NET Core SignalR 是一种开放源代码库,可简化将实时 web 功...
在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 ## Docker Desktop介绍及安装 Do...
项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求...
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主...