REST接口目前有2種方式: 一種是遵循了jax-rs規范的,使用的是@Path,@PathParam等注解.一種是Spring自有的一套,使用的是@RestController,@GetMapping等注解.
如何開發jax-rs規范的REST接口呢?
在SpringBoot項目中,可以按如下步驟進行:
1. 引入依賴: spring-boot-starter-jersey
2. 添加配置:
1
2
3
4
5
|
public class JerseyConfig extends ResourceConfig{ public JerseyCongfig(){ super .register(jax-rs規范的REST接口所在實現類. class ); } } |
3. 具體使用:
有2種方式,一種是簡單的直接使用實現類作為接口所在類,一種是接口與實現類搭檔的方式.
3.1 直接以實現類作為接口所在類的方式與Spring的Controller類似,只不過改為使用jax-rs規范的@Path,@PathParam注解
1
2
3
4
5
6
7
8
9
|
@Path ( "/user" ) @Produces ( "application/json" ) public class MyController{ @Path ( "/getName/{name}" ) @GET public String getName( @PathParam ( "name" )String name){ return name; } } |
3.2 以接口與實現類搭檔的方式
接口:
1
2
3
4
5
6
7
|
@Path ( "/user" ) @Produces ( "application/json" ) public interface IMyControllerService { @Path ( "/getName/{name}" ) @GET String getName( @PathParam ( "name" )String name); } |
實現類:
1
2
3
4
5
|
public class MyController implements IMyControllerService{ public String getName(String name){ return name; } } |
4.注意點
無論哪種使用方式,都要將實現類注冊到ResourceConfig中,否則找不到.
用一個對象不能接收多個path參數, 如果需要用,需要其他配置
可以使用多個@PathParam接收多個path參數
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/wangxuejian/p/13545967.html