zoukankan      html  css  js  c++  java
  • jax-rs规范下的REST接口使用

    REST接口目前有2种方式: 一种是遵循了jax-rs规范的,使用的是@Path,@PathParam等注解.一种是Spring自有的一套,使用的是@RestController,@GetMapping等注解.

    如何开发jax-rs规范的REST接口呢?

    在SpringBoot项目中,可以按如下步骤进行:

    1. 引入依赖: spring-boot-starter-jersey

    2. 添加配置: 

    public class JerseyConfig extends ResourceConfig{

      public JerseyCongfig(){

        super.register(jax-rs规范的REST接口所在实现类.class);

      }

    }
    3. 具体使用:

      有2种方式,一种是简单的直接使用实现类作为接口所在类,一种是接口与实现类搭档的方式.

      3.1 直接以实现类作为接口所在类的方式与Spring的Controller类似,只不过改为使用jax-rs规范的@Path,@PathParam注解

      @Path("/user")

      @Produces("application/json")

      public class MyController{

        @Path("/getName/{name}")

        @GET

        public String getName(@PathParam("name")String name){

          return name;

        }

      }

      3.2 以接口与实现类搭档的方式

      接口:

      @Path("/user")

      @Produces("application/json")

      public interface IMyControllerService {

        @Path("/getName/{name}")

        @GET

        String getName(@PathParam("name")String name);

      }

      

      实现类:

      public class MyController implements IMyControllerService{

        public String getName(String name){

          return name;

        }

      }

    4.注意点

      无论哪种使用方式,都要将实现类注册到ResourceConfig中,否则找不到.

      用一个对象不能接收多个path参数, 如果需要用,需要其他配置

      可以使用多个@PathParam接收多个path参数

  • 相关阅读:
    CDOJ 1059 秋实大哥与小朋友 STL(set)+离散化+BIT区间更新单点查询
    hdu 1754 线段树 水题 单点更新 区间查询
    ZOJ 2301 离散化
    hdu 1166 线段树 区间求和 +单点更新 CD模板
    UVA 12299 线段树 ( 单点跟新 , 区间查询)
    TTTTTTTTTTTTT LA 2191 树状数组 稍修改
    TTTTTTTTTTT LA 4329 BIT模版
    POJ 1912 凸包
    对django模型中的objects的理解
    巨蟒python全栈开发django4:url反向解析图解&&模板渲染2
  • 原文地址:https://www.cnblogs.com/wangxuejian/p/13545967.html
Copyright © 2011-2022 走看看