WebApi+Swagger(项目阶段总结)

工具

  • Visual Studio 2015
  • ELinq ORM
  • Oracle

流程概述

  1. 建立ASP.NET WebApi应用程序
  2. 添加Elinq包、Swashbuckle包、添加引用System.Data.OracleClient
  3. 修改SwaggerConfig.cs配置文件,并生成XML文档文件,注意要与配置文件中的地址要一致
  4. 在文件夹Controllers中添加Web API控制器类(v2.1)
  5. 添加实体层,建立映射关系
  6. 根据具体输出需求,添加输出模型,同时建立一个通用的输出格式,和输出状态信息判断。
  7. 添加日志记录配置
  8. 添加业务处理层,写具体的业务代码
  9. 在建好的控制器中调用业务处理层中写好的方法以及加载的项目
  10. 全局异常捕捉设置

具体问题

  1. 接口编写的效率问题
    目前写的接口中,代码的相似性较高,每个方法用的语句大同小异,在熟悉了使用流程后,下一步就是要更快速地编写一个又一个的新接口。
  2. 在使用ELinq多表查询时映射关系问题
    在注册两张表的映射关系时,得弄明白一对多,多对一,一对一的关系类型。

例如:一个简化后的产值排序的问题,目标表(产值列:100万以下,100万以上),字典表中存储着不同产值刻度排序的值(SORTID),并且字典表中有3套不同的产值刻度排序体系,“100万以上”在三套排序体系中都有。
目标表对字典表:一对多
字典表对目标表:多对一
然而在实际运用中,在目标表处注册一对多的映射关系,最后查询失败;在字典表处注册多对一的关系时,最后查询成功。
可能原因:一对多时,在业务代码处理的地方,ELinq语句转化为SQL语句时,没有加上where条件子句,导致报单个查询返回多个行的异常;多对一解决了这个问题。
引申:如果目标表中,“100万以上”也出现多次,目标表和字典表变成多对多的关系,但ELinq暂不支持多对多的映射关系,可能直接在后台写SQL语句,然后调用会更方便一点,待验证。

  1. SVN代码管理问题
    对代码的协同,还有待改进,对不用提交到服务器上的一些文件还不是很清楚;在代码提交的时候,并没有写版本日志信息,这是一个潜在隐患

总结

  1. 注释很重要,写好注释,不仅方便日后他人维护,也是方便自己的改动和查看。没有注释,自己一周后再看自己的代码都烦。
  2. 协作和沟通,和项目其它人员多沟通,尤其是作为新人,在对整个流程都不清楚的情况下,缺乏沟通容易导致写出来的东西不能直接用,从而导致大量的改动。目前,自己正处于这种缺乏和项目成员沟通的情况,连项目中的人员一大半都不认识。2018的头三个月,争取认识80%的三组同事,首先把前端的四个同事认熟,便于工作地开展。
  3. 多问,多向指导人请教,指导人经验丰富,对问题的认识也更深刻,意见的含金量更高。
  4. 多点勇气,少些畏难情绪,既然做了开发行业,那就必然会被各种技术壁垒和BUG围绕。有的技术确实很难,可能要耗费极大的精力才能解决,但是就这么几个月接触的入门级技术的感受来说,在现在来看,并没有很难,甚至很基础。不过,在当时学习的时候,总是感到很绝望,经常性焦虑不堪,几乎觉得自己难以胜任程序员这份工作,间歇性地自我否定,有大部分觉得难的问题其实是自己吓自己,觉得不可逾越的障碍未必真的就很难,有时候事后一反思,不过纸老虎而已。很明显,自己缺乏直面困难的勇气,缺少积极乐观的情绪,缺少自信力,尚未找到工作中的乐趣从而转化为积极阳光的动力。在接下来的日子,自己得学会面对不断爬坡的节奏,用积极的态度对待工作和生活,不要幻想着逃避能解决问题,正面刚它,自己解决不了就问百度、同事、师傅,直到解决它!新的一年,勇气多一点,畏惧少一分,心怀希望,砥砺前行。

你可能感兴趣的:(WebApi+Swagger(项目阶段总结))