Spring boot 与RestEasy结合
来源:互联网 发布:阿里云服务器能升级吗 编辑:程序博客网 时间:2024/06/07 05:54
Spring boot 与RestEasy结合
Spring Boot 官方并没有出于RestEasy结合的jar包,估计是应为RestEasy用的比较少吧,但是paypal团队出了一个jar(传送门1),估计他们那边有RestEasy用的比较多吧,PayPal是国际版本的支付宝(传送门2)
首先导包
<dependency> <groupId>com.paypal.springboot</groupId> <artifactId>resteasy-spring-boot-starter</artifactId> <version>2.3.3-RELEASE</version> <scope>runtime</scope></dependency>
然后定义一个JAX-RS格式的应用类(application 继承javax.ws.rs.core.Application)
然后作为Spring的bean来注册就好了
package com.sample.app;import org.springframework.stereotype.Component;import javax.ws.rs.ApplicationPath;import javax.ws.rs.core.Application;@Component@ApplicationPath("/sample-app/")public class JaxrsApplication extends Application {}````RestEasy 的resources 和providers 只要声明为Spring 的Bean,它就是会自动注册然后在Spring boot的配置文件中配置Application.property文件里面设置 resteasy.jaxrs.app.registration 让他是否自动注册,取值有1. beans 1. property1. scanning1. auto (default)更多信息,[传送门](https://github.com/paypal/resteasy-spring-boot/blob/master/mds/USAGE.md)ReatEasy 校验参数,全局处理返回结果先添加jar包<div class="se-preview-section-delimiter"></div>
org.jboss.resteasy
resteasy-validator-provider-11
3.1.4.Final
这个包主要是将hibernate-validator和RestEasy全局异常处理接口ExceptionMapping结合使用 首先实现全局validator异常处理<div class="se-preview-section-delimiter"></div>
package com.hey900.oa.filter;
import com.hey900.oa.Result;
import org.jboss.resteasy.api.validation.ResteasyConstraintViolation;
import org.jboss.resteasy.api.validation.ResteasyViolationException;
import org.springframework.stereotype.Component;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import java.util.List;
/**
* Created with IntelliJ IDEA.
* Description:
* UserVO:刘敏华 shadow.liu@hey900.com
* DateDeserializer: 2017-08-08
* Time: 13:44
*/
@Component
@Provider
public class ParamMapping implements ExceptionMapper {
@Overridepublic Response toResponse(ResteasyViolationException restEasyViolationException ) { List<ResteasyConstraintViolation> violations = restEasyViolationException.getViolations(); ResteasyConstraintViolation resteasyConstraintViolation = null; if(violations!=null&&!violations.isEmpty()){ resteasyConstraintViolation = violations.get(0); } return Response.ok(Result.fail(resteasyConstraintViolation.getMessage()), MediaType.APPLICATION_JSON_TYPE).build();}
}
然后使用<div class="se-preview-section-delimiter"></div>
/**
* Created with IntelliJ IDEA.
* Description:
* UserVO:刘敏华 shadow.liu@hey900.com
* DateDeserializer: 2017-08-08
* Time: 14:18
*/
public class UserParam {
@NotNull(message = "用户名不能为空")private String name;@Pattern(regexp = "^[a-zA-Z0-9_.-]+@hey900.com",message = "请输入正确的公司邮箱")@ApiModelProperty("员工邮箱")private String email;@NotNull(message = "手机号不能为空")@Size(min = 11,max=11,message = "请填写合法的手机号")private String phone;@NotNull(message = "登录密码不能为空")@Size(min = 6,max=20,message = "密码长度需要再6~20位字符之间")private String password;@NotNull(message = "入职日期不能为空")@JsonDeserialize(using = DateDeserializer.class)private Date entryDate;@NotNull(message = "转正日期不能为空")@JsonDeserialize(using = DateDeserializer.class)private Date regularDate;@JsonDeserialize(using = DateDeserializer.class)private Date leaveDate;
在Api里面校验<div class="se-preview-section-delimiter"></div>
@Secured(resource = "user.add",name = "新增用户")@POST@Path("/add")@ApiOperation("用户增加接口")public Result<UserVO> add(@Valid UserParam userParam){ return userService.add(userParam);}
“`
- Spring boot 与RestEasy结合
- spring boot 整合 resteasy+fastjson
- spring-boot与mybatis结合
- resteasy 与spring集成
- spring boot与activemq的结合使用
- spring boot cxf 结合
- Spring boot结合Mysql
- 爬虫框架webmagic与spring boot的结合使用
- Spring Boot (五):与mybatis 的完美结合
- Json Web Token与spring boot-actuator结合
- spring boot mybatis结合初探
- Spring Boot 集成 resteasy篇 — jax-rs初步介绍和spring boot集成
- Spring Boot结合spring-data-jpa
- Spring Security 与Spring Boot结合的认证授权机制流程(二)
- spring集成resteasy实例
- Spring Boot 集成 resteasy篇 — jax-rs常用注解介绍
- spring-boot结合logback日志框架
- eayui结合Spring Boot实现客户端分页
- java用FTP实现上传、下载文
- java enum(枚举)使用详解 + 总结
- 题目学习——HDUOJ-2669
- 牛顿法与拟牛顿法学习笔记(三)DFP 算法
- compile vim
- Spring boot 与RestEasy结合
- 欢迎使用CSDN-markdown编辑器
- Shell编程面试题4_批量创建Linux用户并设置密码
- 一个aidl通信功能的重构
- SQL基础之多表连接查询
- 朴素贝叶斯 python 实现
- hdu 1863 畅通工程 基础最小生成树★
- 线程同步--协同方式和互斥方式
- Mac (10.12.4)安装cocoapods