
WireMock 是基于 HTTP 的模拟器。它具备 HTTP 响应存根、请求验证、代理/拦截、记录和回放功能。
当开发人员的开发进度不一致时,可以依赖 WireMock 构建的接口,模拟不同请求与响应,从而避某一模块的开发进度。

WireMock 是基于 HTTP 的模拟器。它具备 HTTP 响应存根、请求验证、代理/拦截、记录和回放功能。
当开发人员的开发进度不一致时,可以依赖 WireMock 构建的接口,模拟不同请求与响应,从而避某一模块的开发进度。
相信无论是前端还是后端开发,都或多或少地被接口文档折磨过,期望有一个好的接口文档。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。


在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理,也就是同步处理请求。如果一个请求需要进行IO操作,比如访问数据库、调用第三方服务接口等,那么其所对应的线程将同步地等待IO操作完成,而IO操作是非常慢的,所以此时的线程并不能及时地释放回线程池以供后续使用,在并发量越来越大的情况下,这将带来严重的性能问题。
1 | @Slf4j |
一般情况下,上传的文件不会存放在本地,因此可以将file.transferTo()改成file.getInputStream(),获取文件流,然后写入其他地方中,如OSS中。
在日常的项目中,我们经常需要对请求进行拦截然后进行一些逻辑操作,拦截的方式有三种,分别是Filter、Interceptor和Aspect。

Spring中的拦截机制,如果出现异常的话,异常的顺序是从里面到外面一步一步的进行处理,如果到了最外层都没有进行处理的话,就会由tomcat容器抛出异常。
有的时候,我们需要业务逻辑时抛出自定义异常,这个时候需要自定义业务异常类。
Spring中使用@vaild 注解进行验证传过来的参数校验,然后通过统一异常处理。如@not null、@not blank、@not empty、@Email等等。但是实际业务中可能默认提供的注解不够用,因此需要自定义验证注解。

实现ConstraintValidator接口,它有两个泛型,如上图
在这个实现中,可以用@Autowire注入需要的类。
MyConstraint需要有message()、groups()、payload()三个属性。
总结一些Java常用的工具类库,提高工作效率。
Restful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。Restful适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。