spring boot 2.1.x整合jersey遇到的坑

由于最近的开发需要用到这个框架,所以打算重新学习下,但是spring boot的版本升级了,导致了依赖方面一些问题,应用老是起不来,没想到这个还是spring boot的bug...这里记录一下:

首先来看一下相关的依赖:


		
			org.springframework.boot
			spring-boot-starter
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
		

		
			org.springframework.boot
			spring-boot-starter-actuator

		

		
			org.springframework.boot
			spring-boot-starter-jersey
		

必须要强调一下:1.不要导入spring boot 的web组件!2.不要忘记添加actuator组件。

不知道何种原因,其他的一些文章上边都会导入web相关的依赖,结果还能得到正确的结果...

然后是配置类代码:

@Component
@ApplicationPath("/rest")
public class JerseyConfig extends ResourceConfig {

    public JerseyConfig() {
        register(ControllerTest.class);
    }

}

最后是控制类部分的代码:

@Component
@Path("/test")
public class ControllerTest {
    @GET()
    @Path("jsonTest")
    @Produces(MediaType.APPLICATION_JSON)
    public Object jsonMessage() {
        Map tmp = new HashMap<>();
        tmp.put("info", "hi");
        return tmp;
    }

    @GET
    @Path("{id}")
    @Produces(MediaType.TEXT_PLAIN)
    public Object testMessage(@PathParam("id") Integer id, @QueryParam("name") String name) {
        StringBuilder sb = new StringBuilder();
        sb.append("this is id:").append(id).append("this is name:").append(name);
        return sb.toString();
    }

    @POST
    @Path("/cat")
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public Object catMessage(Cat cat) {
        return cat;
    }
}

实验的结果:

spring boot 2.1.x整合jersey遇到的坑_第1张图片

对于jesery的整合完毕。

相关代码

参考:https://stackoverflow.com/questions/53091306/spring-boot-2-1-0-with-jersey

你可能感兴趣的:(Jersey)