首页 > 其他分享 >Jersey+Spring构建RESTful Web服务

Jersey+Spring构建RESTful Web服务

时间:2024-06-16 22:36:09浏览次数:23  
标签:Web name Spring boot public user org RESTful id

简介

目前jersey已经不流行,但一些老的项目还在使用,jersey和目前流行的spring boot还是有少许不同,特此记录。

搭建服务

pom

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jersey</artifactId>
        </dependency>

配置类

import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JerseyConfig extends ResourceConfig {
    public JerseyConfig() {
        packages("com.example.devp.web");
    }
}

资源类(controller层)

@Component
public class UserResource {
    private static Map<String, User> cache = new HashMap<>();

    //原始方式
    @POST
    @Path("/simpleParam1")
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public Object simpleParam(@Context HttpServletRequest request) {
        // http://localhost:8080/simpleParam?name=Tom&age=10
        // 请求参数: name=Tom&age=10   (有2个请求参数)
        // 第1个请求参数: name=Tom   参数名:name,参数值:Tom
        // 第2个请求参数: age=10     参数名:age , 参数值:10

        String id = request.getParameter("id");
        String name = request.getParameter("name");//name就是请求参数名
        User user = new User(id, name);
        cache.put(id, user);
        System.out.println("/simpleParam1 " + user);
        return "OK";
    }

参数映射

@QueryParam

接口

@POST
    @Path("/simpleParam2")
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public Object simpleParam(@QueryParam("id") String id, @QueryParam("name") String name) {
        User user = new User(id, name);
        cache.put(id, user);
        System.out.println("/simpleParam2 " + user);
        return "OK";
    }

apifox调用

标签:Web,name,Spring,boot,public,user,org,RESTful,id
From: https://www.cnblogs.com/yifan1028/p/18251398

相关文章

  • 基于springboot的无人智慧超市管理系统【附源码】
    效果如下:首页注册商品信息个人中心管理员主页面仓储信息管理订单管理界面研究背景近年来,由于计算机技术和互联网技术的快速发展,使得所有企事业单位内部都是数字化、信息化、无纸化的发展趋势,随着趋势的发展,各种决策系统、辅助系统也应运而生,其中无人智慧超......
  • 基于springboot的学生宿舍管理系统(带 1w+字文档)
    基于springboot的学生宿舍管理系统(带1w+字文档)基于springboot+vue前后端分离的学生宿舍管理系统:前端vue2、elementui,后端maven、springmvc、spring、mybatis;项目简介本项目可供学习参考,商业慎用。项目带完整安装部署教程+1w+文档。技术栈IntelliJIDEA/Ecl......
  • Spring Cloud微服务核心架构分析
    SpringCloud是一个相对比较成熟的微服务框架。虽然,SpringCloud于2016年才推出1.0的release版本,时间最短,但是相比Dubbo等RPC框架,SpringCloud提供的全套的分布式系统解决方案。SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系......
  • 【JavaWeb】SpringBootWeb请求响应
    前言在上一次,我们开发了springbootweb的入门程序。基于SpringBoot的方式开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串“HelloWorld~”。其实呢,是我们在浏览器发起请求,请求了我们的后端web服务器(也就是内置的Tomcat)。而我们在开发web程序时呢,定义了一个控......
  • springcloud-config配置中心
    配置中心主要解决微服务数量多了之后的公共配置文件问题,比如通用配置列表之类,数据库,三方件连接参数之类。配置中心分为服务端(可集群)和客户端服务端:引入服务端依赖<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spr......
  • springboot与flowable(3):启动、审批、各个Service服务
    一、启动流程        流程定义与实例的关系类似于Java的类与对象,通过定义的id创建流程实例,编写测试代码:packageorg.example.flowabledemo2;importorg.flowable.engine.RuntimeService;importorg.flowable.engine.runtime.ProcessInstance;importorg.ju......
  • Web爬虫-edu_SRC-目标列表爬取
    免责声明:本文仅做技术交流与学习...爬取后,结合暗黑搜索引擎等等进行进一步搜索.edu_src.pyimportrequests,timefrombs4importBeautifulSoupforiinrange(1,20):url=f'https://src.sjtu.edu.cn/rank/firm/0/?page={i}'print(f"正在获取第{i}页......
  • spring-5-事务
    参考:spring事务失效的11种场景一、事务基础1.什么是事务事务是指作为单个逻辑工作单元执行的一系列操作,要么全部成功执行,要么全部失败回滚到初始状态,保证数据的一致性和完整性。事务具有ACID特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)......
  • Docker部署SpringBoot项目
    准备服务器安装Docker下载dockerWindows版本并登录根据项目需要在项目根目录下创建Dockerfile文件#使用官方的OpenJDK8作为基础镜像FROMopenjdk:8-jdk-alpine#维护者信息LABELmaintainer="name"#添加一个应用程序的工作目录WORKDIR/app#将JAR文件添加到......
  • 【JavaWeb】SpringBoot基础
    SpringBootWeb入门HTTP协议Web服务器-Tomcat前言Spring的官网(https://spring.io)。Spring的官方提供很多开源的项目,我们可以点击上面的projects,看到spring家族旗下的项目。Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定......