随笔分类 - Web Api
摘要:ASP.NET MVC 的路由实际上是建立在 ASP.NET 的路由系统之上的. MVC 路由注册通常是这样的: RouteTable 是一个全局路由表, 它的 Routes 静态属性是一个 RouteCollection 类型的实例,而 RouteCollection 是一个继承自 Collect
阅读全文
摘要:设计优秀的REST风格API非常困难!API是服务提供方和使用方之间的契约,打破该契约将会给服务端开发人员招来非常大的麻烦,这些麻烦来自于使用API的开发人员,因为对API的改动会导致他们的移动app无法工作。一个好的文档对于解决这些事情能起到事半功倍的作用,但是绝对多数程序员都不喜欢写文档。 如果
阅读全文
摘要:新建一个类库: SelfHost: 方法一: 1.添加对MyControllers类库的引用. 2.在控制台代码中加入一行代码: 当然,可以添加多个程序集.(记得引用) var config = new HttpSelfHostConfiguration("http://localhost:9527
阅读全文
摘要:最近逛博客园,看到了Owin,学习了一下,做个笔记,说不定将来哪天就用上了 关于 Owin 的介绍,百度解释的很清楚了: https://baike.baidu.com/item/owin/2860765?fr=aladdin 参考资料:http://www.cnblogs.com/xiangcha
阅读全文
摘要:服务端接收文件流代码: 客户端上传文件流代码: HttpClient HttpWebRequest 前端上传文件: 上面三种方式,客户端没有问题,但是前端这样上传是有问题的,因为在文件流开头还有其他东西: 用一段代码测试: 这就是HTTP请求自带的,打开浏览器,F12,可以看到: 那么,如何成功的躲
阅读全文
摘要:public class TestController : ApiController { public HttpResponseMessage GetImg() { //获取文件的绝对路径 string absolutePath = System.Web.Hosting.HostingEnv...
阅读全文
摘要:该过滤器是最先执行的过滤器,即使把它放在最后 API 客户端调用: 运行结果: 权限验证基本上每个API都一样,所以都是注册的全局: 如果想让某些API不进行验证,比如登录等,则可以进行如下处理: 1.再不需要验证的 Controller 或者 Action 上面打上 [AllowAnonymous
阅读全文
摘要:一.服务器出现异常,会统一向客户端返回 500 的错误. 二.全局过滤器 1.在 App_Start 里面新建一个全局过滤器 2.在 Global.asax 里面的 Application_Start 方法中添加该全局过滤器 测试结果: 三.Action 过滤器 同时注释这行代码 //GlobalC
阅读全文
摘要:一.安装 cors 二.修改 Web.config (如果想允许所有请求, 则都设置为 "*") 三.修改 WebApiConfig.cs , 增加如下代码 测试结果: 当然,也可以设置只让某一些api允许跨域: 并且,这种设置也遵循就近原则: 如果像上面那样设置后,27593 则能够通过访问该接口
阅读全文
摘要:使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型 void无返回值 IHttpActionResult HttpResponseMessage 自定义类型 此篇就围绕这四块分别来看看它们的使用。 一、void无返回值 void关键字我们都不陌生,它申明方法没有返回值。它的使
阅读全文
摘要:请求如下: 控制器如下: 慎重说明:不管请求方式是 get 还是 post , 简单类型的参数,如 name 和 id ,其值都是从 url 里面去取. Web API 从 url 还是 body 获取 简单类型参数的值,跟客户端提交的方式没有任何关系,只跟 [FromBody] 和 [FromUr
阅读全文
摘要:注意点:需要修改api路由规则,加上action: "api/{controller}/{action}/{id}" 1、如何引入组件 首先,我们需要定义一个API项目 然后通过Nuget引入组件,如下图。记住选下图中的第三个。 引入成功后,将向项目里面添加一些主要文件: Scripts\WebAp
阅读全文
摘要:一般有两种办法 第一种handler.UseCookies=true(默认为true),默认的会自己带上cookies,例如 这种情况post请求登陆成功后,重定向到别的页面,也会自动带上cookies。如果把handler.UseCookies设置为false,登陆后重定向的话不会自动带上cook
阅读全文
摘要:1.获取 post 请求 body 内容 [HttpPost] public string GetId() { //如果方法参数里面有 [FromBody],则需要重新调整内容指针,再进行读取。 //Request.Content.ReadAsStreamAsync().Result.Seek(0,System.IO.SeekOrigin.Begin); string conten...
阅读全文

浙公网安备 33010602011771号