WebApi-顾客信息接口示例总结(2017/12/17)

概述

  • 此WebApi采用Elinq ORM模型来,实现CURD,前端界面采用Swagger进行测试。
  • 工具:Visual Studio 2015
  • 数据库:Oracle

流程

  1. 新建ASP.NET WebApi应用程序


    WebApi-顾客信息接口示例总结(2017/12/17)_第1张图片
    image.png
  2. 通过NuGet添加ELinq包、Swashbuckle包

  3. 修改SwaggerConfig.cs配置文件

GlobalConfiguration.Configuration
                .EnableSwagger(c =>
                {
                    c.SingleApiVersion("v1", "WebApiTest");
                    c.IncludeXmlComments(string.Format(@"{0}\bin\WebApiTest.XML",
                        System.AppDomain.CurrentDomain.BaseDirectory));
                })
                .EnableSwaggerUi();

并生成XML文档文件,注意要与配置文件中@"{0}\bin\WebApiTest.XML"的地址要一致


WebApi-顾客信息接口示例总结(2017/12/17)_第2张图片
image.png
  1. 在文件夹Controllers中添加Web API控制器类(v2.1)


    WebApi-顾客信息接口示例总结(2017/12/17)_第3张图片
    image.png

    WebApi-顾客信息接口示例总结(2017/12/17)_第4张图片
    image.png
  2. 添加实体层,建立映射关系


    WebApi-顾客信息接口示例总结(2017/12/17)_第5张图片
    image.png
  3. 添加业务处理层
    其中,CustomerService.cs负责业务处理,SsisDbContext.cs负责连接数据库。


    WebApi-顾客信息接口示例总结(2017/12/17)_第6张图片
    image.png

    WebApi-顾客信息接口示例总结(2017/12/17)_第7张图片
    image.png
  4. 添加用于指定结果输出格式的类,并使用枚举类型


    WebApi-顾客信息接口示例总结(2017/12/17)_第8张图片
    image.png

    WebApi-顾客信息接口示例总结(2017/12/17)_第9张图片
    image.png
  5. 添加用户输入所使用的model


    WebApi-顾客信息接口示例总结(2017/12/17)_第10张图片
    image.png
  6. 在SwaggerUI的接口文档添加上传文件参数类型,详情可见Abp中SwaggerUI的接口文档添加上传文件参数类型

    WebApi-顾客信息接口示例总结(2017/12/17)_第11张图片
    image.png

  7. 添加日志记录

  1. 从NuGet下载log4net
  2. 添加log4net.config,采用RollingFileAppender:将日志以回滚文件的形式写到文件中。
  3. 在WebApiConfig中添加注册信息
    log4net.Config.XmlConfigurator.Configure();
  4. AssemblyInfo.cs增加配置:(文件默认相对于当前程序目录-也就是与web.config同目录)
    [assembly:log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch =true)]
  5. 添加LogHelper.cs用于不同级别日志记录和生成。
  1. 加入token认证
    使用md5加密生成token


    WebApi-顾客信息接口示例总结(2017/12/17)_第12张图片
    image.png
  • 未完待续。。。

总结

  • 对webapi的原理和技术细节还不甚了解,希望通过接下来的项目实战,加深对WebApi的理解,同时找一些webapi的书籍,补一补理论短板,如《asp.net web api 2 框架揭秘》.

你可能感兴趣的:(WebApi-顾客信息接口示例总结(2017/12/17))