-------【SpringMVC】
KimZing
Programming as a Way of Thinking
展开
-
Swagger进阶-使用自定义的Swagger页面
Swagger的使用网上已经有很多的介绍了,这里就不重复的太多,但是Swagger官方的UI界面不是太直观,偶然发现一个开源项目knife4j, 在此感谢作者的奉献。 这个项目没有使用Swagger官方的UI界面,重新定义了一套符合国人使用习惯的UI,感觉不错,就拿来用用。但是这个项目的文档有点乱,特别是刚出了2.0.1版本,没有找到详细的使用文档,所以根据项目...原创 2020-01-16 23:20:36 · 5274 阅读 · 0 评论 -
SpringMVC中对请求参数进行校验-自定义校验注解
接口是对三方系统暴露的,这也就要求我们必需对参数的合法性进行校验,否则会引起各种不可预见的错误,最常见的就是NullPointException了。 而如果在代码中使用if/else进行各种判断,十分的不优雅,健壮性代码侵入了业务代码,可读性就会变得很差。使用注解就可以很优雅的解决这个问题。一、环境准备SpringBoot项目<dependency&...原创 2020-01-15 18:40:06 · 2437 阅读 · 2 评论 -
自定义SpringMVC全局参数转换
一、需求项目中使用java8的LocalDateTime进行日期参数的接收,前后台使用unix时间戳进行日期传输,需要在controller的方法中实现自动将unix时间戳转换为LocalDateTime。localhost:8080?time=1512900770public void test(@RequestParam LocalDateTime time) { System.out.原创 2017-12-10 18:19:56 · 965 阅读 · 0 评论 -
SpringAOP实现拦截Controller请求参数并输出到日志
一、实现的效果请求:http://localhost:8080/regist?username=king&age=12&password=123456Controller:@RestControllerpublic class UserController { @RequestMapping("/regist") public Apiresult userRegister(@Mode原创 2017-07-25 21:25:27 · 14058 阅读 · 18 评论 -
SpringBoot如何优雅的使用Swagger
可以参考我的github项目kingboy-springboot-web,包含详细的演示和说明以及其它相关技术。一、Swagger为什么会出现?在以前,我们项目开发的流程往往是这样的:产品把前后端人员叫过来开会:我们的需求是这样的,balabala。然后前端拿着原型页面开始画前台UI,后端看着需求文档开始写接口。后端写完一个接口,肯定需要测试一下写的对不对,那么经常有这样一个过原创 2017-12-30 22:46:40 · 3030 阅读 · 6 评论 -
SpringMVC使用Restful风格定义URL
一、简介 首先restfule只是一种风格,并不是具体的某项技术或框架。就好比我们的坐姿,没使用rest之前,我们会翘着二郎腿,歪着头,而使用rest之后,就要求我们抬头,挺背,端正的坐着。不用rest我们就不可以坐着嘛?当然不是的,但是我们的精神面貌是不同的。 从代码角度来说,不用restful也可以进行正常开发,但是写出来的url的质量就参差不齐了。二、传统url的理解在以前的u原创 2017-11-27 18:22:52 · 1062 阅读 · 0 评论 -
SpringMVC使用JsonView针对统一实体返回不同信息
项目GitHub地址一、随便说说项目中不同的接口需要返回不同的信息,而信息一般通过不同的对象实例去承载。例如有接口A和接口B,A需要返回不包含用户地址的用户信息, 而B需要返回包含用户地址的用户信息,其它信息和A的返回信息一致。这个时候应该建立两个不同的用户类,一个包含address,一个不包含,这样做显然是麻烦的,那么JsonView就可以帮你很优雅的解决这个问题。接下来就直接原创 2017-12-29 21:55:37 · 2329 阅读 · 0 评论