webapi

WebApi实现Ajax模拟Multipart/form-data方式多文件上传

柔情痞子 提交于 2020-01-18 23:45:46
前端页面代码: <input type="file" class="file_control" /><br /> <input type="file" class="file_control" /><br /> <input type="file" class="file_control" /> <button id="btnUpload" type="button">上传</button> <script type="text/javascript"> $(document).ready(function () { $("#btnUpload").click(function () { var formdata = new FormData(); var files = $(".file_control"); $.each(files, function (index, domEle) { formdata.append("file" + index, domEle.files[0]); }); $.ajax({ url: '/api/Service/UpLoad', type: 'POST', cache: false, data: formdata, processData: false, contentType: false, success: function (data

abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之九(三十五)

梦想的初衷 提交于 2020-01-18 13:40:28
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) abp(net core)+easyui+efcore实现仓储管理系统——多语言(十) abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)

WebApi生成文档

安稳与你 提交于 2020-01-18 02:14:48
本文包括两个部分: webapi中使用swagger 修改webapi的路由和默认参数 WebApi中使用swagger 项目打开之后,选择 引用,右键,管理NuGet程序包 浏览,搜索swagger,选择第一个swashbuckle,安装 安装好之后,右键项目,选择属性,生成,在下面的输出那里勾选:XML文档文件,如果没有自动填充好路径,需要自己填写一下,文件名可以自己 打开App_Start文件夹下的SwaggerConfig.cs文件,新增一个如下方法: private static string GetXmlCommentsPath() { return System.String.Format(@"{0}\bin\Coldairarrow.WebApi.xml", System.AppDomain.CurrentDomain.BaseDirectory); } 搜索GetXmlCommentsPath,下面能搜到已经注释了,自己把注释放开,要是没搜到,就自己手动写一下c.IncludeXmlComments(GetXmlCommentsPath());注意要写在register方法里面 运行项目,在根路径后面直接加swagger,就会自动跳转到文档,如:http://localhost:13520/swagger/ui/index,能看到我们写的一些注释 来源:

.Net WebApi 添加Swagger

我们两清 提交于 2020-01-17 14:12:03
前言 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要, swagger 就是一款让你更好的书写API文档的框架。 安装 首先,创建WebApi类型的项目 TestSwagger 2. 安装Swashbuckle 包和swagger.Net.UI包   3. 安装完成之后,可以看到这些类与文件都是安装完成时swagger添加的 设置 设置输出xml文档文件 右键项目属性—>生成—>勾选XML文档文件 运行 发生上述错误,请在,SwaggerNet.cs中,注释类上面的两行 结果又报以下错误: 这时需要在SwaggerConfig.cs 文件中 GlobalConfiguration.Configuration.EnableSwagger 添加c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First()); 需要添加注释则加: c.IncludeXmlComments(string.Format("{0}/bin/TestService.XML", System.AppDomain.CurrentDomain

WebApi && Swagger 及Swagger配置

耗尽温柔 提交于 2020-01-17 14:06:47
WebApi & Swagger Swagger 简介 Swashbuckle 是一个开源项目,为使用 ASP.NET Core MVC 构建的 Web APIs 生成 Swagger 文档。 Swagger 是一个机器可读的 RESTful API 表现层,它可以支持交互式文档、客户端 SDK 的生成和可被发现 Swashbuckle 有两个核心的组件 Swashbuckle 有两个核心的组件 Swashbuckle.SwaggerGen : 提供生成描述对象、方法、返回类型等的 JSON Swagger 文档的功能。 Swashbuckle.SwaggerUI : 是一个嵌入式版本的 Swagger UI 工具,使用 Swagger UI 强大的富文本表现形式来可定制化的来描述 Web API 的功能,并且包含内置的公共方法测试工具。 在 VS2017 中创建并使用 Swagger 1. 创建一个 WebApi 的 Asp.Net 应用程序 2. 使用 “ Nuget 包管理器”搜索“ Swashbuckle ”安装即可 3. 然后更改项目属性 “ Xml 文档文件” 4. 使用 Swagger :启动项目,然后在地址栏输入“ http://localhost:49245/swagger/ui/index#/Login ” 5.Swagger配置(后续更上) 来源: https

浏览器跨域访问WebApi

这一生的挚爱 提交于 2020-01-15 14:52:44
webapi地址:wapapi.ebcbuy.com web地址:wapweb.ebcbuy.com 在默认情况下这两个域名属于两个不同的域,他们之间的交互存在跨域的问题,但因为他们都同属于一个二级域名下,所以通过简单的设置就能实现跨域行为,但是考虑到实际生产环境中往往会出现两个域名 完全不同的情况,所以这里不考虑这种特殊的情况,使用更通用的方法来解决跨域的问题。 首先在webapi上有如下所示一个接口 我们需要在我们的web站点下通过ajax方式调用这个接口 此时我们可以看到如下的结果 通过分析上述的监视结果可以看到,这个ajax请求是成功的,但是因为响应头中没有告诉浏览器这个接口可以跨访问,浏览器就拒绝了将请求结果返回给用户。 通过在Action上进行断点,也可以看出,服务器已经收到请求并成功执行了 甚至浏览器本身也已经接收到了响应结果,因为跨域问题所以拒绝返回给用户 所以根据上述的错误提示,我们很容易就能解决跨域这个问题,就是需要在响应头中添加 Access-Control-Allow-Origin 这个响应数据。在IIS中我们可以在配置文件中直接配置这个响应头,让所有 的请求都能返回这个响应头,当然也可以使用代码对需要的接口进行单独返回相应的响应头,下面是web.config的配置 通过配置上述的配置,指定 Access-Control-Allow-Origin

ASP.NET Core - 实现自定义WebApi模型验证 ModelState

天涯浪子 提交于 2020-01-13 19:09:33
 Framework时代     在Framework时代,我们一般进行参数验证的时候,以下代码是非常常见的 [HttpPost] public async Task<JsonResult> SaveNewCustomerAsnyc(AddCustomerInput input) { if (!ModelState.IsValid) { return Json(Result.FromCode(ResultCode.InvalidParams)); } ..... }   或者高级一点是实现IActionFilter进行拦截,如下:     public class ApiValidationFilter : IActionFilter { public bool AllowMultiple => false; public async Task<HttpResponseMessage> ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task<HttpResponseMessage>> continuation) { var method = actionContext.ActionDescriptor

WebApiのエラーメッセージをどうカスタマイズです?

我怕爱的太早我们不能终老 提交于 2020-01-12 07:45:34
本来是发布在客户的Wiki上,所以就用日语写。 ------------------------------------------------------------------------ Web Pageの場合、Web.configで <customErrors mode="On" defaultRedirect="~/Error/HttpError"> <error statusCode="404" redirect="~/Error/NotFound"/> <error statusCode="503" redirect="~/Error/Maintenance"/> </customErrors> を配置すれば、404或いは503エラーの場合、カスタマイズのエラーページに遷移されます。 WebApiの場合はどうする? 特にWeb PageとWebApiのRouteが分かれている場合、Apiへのアクセスが間違っても、カスタマイズのエラーページに遷移しません。 技術不足で、Web.configでどう配置すれば分からないですが、ControllerとActionのほうだけで工夫して仕方がないです。 MVCでは、APIをサクセスする時、まずControllerを探してから、Actionを探します。ControllerとActionが合っていると、Actionに入って

WebApi接口文档

巧了我就是萌 提交于 2020-01-10 04:14:03
使用Swagger 1.引用swagger nuget包 Swashbuckle和Swagger.Net.UI两个包 2.卸载重复包Swagger.Net   引用Swagger.Net.UI时会引用Swagger.Net这个包,但是Swagger.Net的功能和Swashbuckle重复了,采取了卸载 Swagger.Net。 3.删除多余的SwaggerUI文件夹 4. 删除多余的配置类SwaggerNe 5. 项目属性->勾选生成xml文档文件 6. 修改SwaggerConfig文件,设置接口描述XML路径地址 c.IncludeXmlComments(string.Format("{0}/bin/SwaggerDemo.XML", System.AppDomain.CurrentDomain.BaseDirectory));2.汉化及控制器注释 1.在SwaggerConfig配置文件中有这么一段代码 .EnableSwaggerUi(c =>{ //c.InjectJavaScript(thisAssembly, "Swashbuckle.Dummy.SwaggerExtensions.testScript1.js")//这个地址是放的js文件汉化 }); 2. JS文件属性 操作改为嵌入的资源 3.js文件内容 汉化 /// <summary> /// 中文转换 //

abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之八(三十四)

非 Y 不嫁゛ 提交于 2020-01-09 22:32:28
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) abp(net core)+easyui+efcore实现仓储管理系统——多语言(十) abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)