首页 Java java教程 创建Jersey REST 服务,基于Maven

创建Jersey REST 服务,基于Maven

Jun 23, 2017 pm 01:58 PM
jersey rest 创建 服务 笔记

  • 基于JavaSE形式的REST服务

  • 创建项目

    我们首选使用 archetypeGroupId 为 org.glassfish.jersey.archetypes 的原型,archetypeArtifactId为 jersey-quickstart-grizzly2 的原型,创建REST服务项目,使用IDEA创建项目如下:

    点击OK后,使用该原始模型创建项目。

  • 运行服务

    项目创建好后,原始模型已经默认创建了一个REST服务,我们可以直接启动REST服务,进入项目的根目录,执行如下命令构建和启动服务:

    mvnpackage

    mvnexec:java

    会启动REST服务,可以随时通过回车键停止服务,输出如下:

    六月 19, 2017 11:12:23 下午 org.glassfish.grizzly.http.server.NetworkListener start

    信息: Started listener bound to [localhost:8080]

    六月 19, 2017 11:12:23 下午 org.glassfish.grizzly.http.server.HttpServer start

    信息: [HttpServer] Started.

    Jersey app started with WADL available at http://localhost:8080/myapp/application.wadl

    Hit enter to stop it…

    还提供了WADL,通过访问application.wadl可以获取当前REST服务公布的接口:

            base="http://localhost:8080/myapp/">

                    path="myresource">

                            id="getIt"name="GET">

                                    

                                            mediaType="text/plain"/>

                                    

                            

                    

            

  • 访问服务

    可以直接访问http://localhost:8080/myapp/myresource就可以访问REST服务,直接访问REST服务,会输出 Got it!

  • 项目说明

    启动服务的命令mvnexec:java,该命令实际调用了exec-maven-plugin 插件定义的一个值为 java 的 goal ,用以触发mainClass中的main函数,插件配置如下:

              org.codehaus.mojo

              exec-maven-plugin

              1.2.1

              

                            

                                        

                                                java

                                      

                            

                

                

                          org.drsoft.rest.Main

                

      

    REST服务类为MyResource,其@Path 中定义了资源路径,@GET中定义了GET方法getIt(),@Produces中定义了响应的类型为普通字符串,示例代码如下:

    @Path("myresource")

    public class MyResource {

       

            @GET

            @Produces(MediaType.TEXT_PLAIN)

            public String getIt() {

                    return"Got it!";

            }

    }

    REST服务的单元测试类MyResourceTest,在单元测试类中,在执行单元测试前需要启动服务,并使用JerseyClient中定义的方法来调用REST服务,示例代码如下:

    public class MyResourceTest {

            private HttpServer server;

            private WebTarget target;

            @Before

            publicvoidsetUp() throws Exception {

                    // start the server

                    server = Main.startServer();

                    // create the client

                    Client c = ClientBuilder.newClient();

       

                    // uncomment the following line if you want to enable

                    // support for JSON in the client (you also have to uncomment

                    // dependency on jersey-media-json module in pom.xml and Main.startServer())

                    // --

                    // c.configuration().enable(new org.glassfish.jersey.media.json.JsonJaxbFeature());

       

                    target = c.target(Main.BASE_URI);

            }

       

            @After

            publicvoidtearDown() throws Exception {

                    server.stop();

            }

       

            @Test

            publicvoidtestGetIt() {

                    String responseMsg = target.path("myresource").request().get(String.class);

                    assertEquals("Got it!", responseMsg);

            }

    }

  • 基于Servlet容器服务

  • 创建项目

    我们首选使用 archetypeGroupId 为 org.glassfish.jersey.archetypes 的原型,archetypeArtifactId为 jersey-quickstart-webapp的原型,创建REST服务项目,使用IDEA创建项目如下:

  • 运行服务

    由于这个是Web项目,没有main函数,因此必须部署到Servlet容器中,才能将其运行,我们需要配置Tomcat,IDEA的配置如下:

    • 点击Run菜单的EditConfiguration,在打开的窗体中增加Tomcat服务配置,指定Tomcat的安装目录,并设置当前站点的部署的虚拟目录名称,如下:

         

      点击OK后,就配置好Servlet容器,可以运行服务了

  • 访问服务

    服务启动后,我们可以访问http://localhost:8080/RESTWebAPP/webapi/myresource来调用REST服务,会输出Got it!

  • 项目说明

    Web根目录的名称为webapp,默认的Servlet容器版本为2.5,并且配置了WEB-INF/web.xml文件来配置REST服务,web.xml配置如下:

    version="1.0"encoding="UTF-8"?>

    version="2.5"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ">

            

                    Jersey Web Application

                    org.glassfish.jersey.servlet.ServletContainer

                    

                            jersey.config.server.provider.packages

                            org.drsoft.rest

                    

                    1

            

            

                    Jersey Web Application

                    /webapi/*

            

      

以上是创建Jersey REST 服务,基于Maven的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

小红书笔记怎么删除 小红书笔记怎么删除 Mar 21, 2024 pm 08:12 PM

小红书笔记怎么删除?在小红书APP中是可以编辑笔记的,多数的用户不知道小红书笔记如何的删除,接下来就是小编为用户带来的小红书笔记删除方法图文教程,感兴趣的用户快来一起看看吧!小红书使用教程小红书笔记怎么删除1、首先打开小红书APP进入到主页面,选择右下角【我】进入到专区;2、之后在我的专区,点击下图所示的笔记页面,选择要删除的笔记;3、进入到笔记页面,右上角【三个点】;4、最后下方会展开功能栏,点击【删除】即可完成。

小红书发布过的笔记不见了怎么办?它刚发的笔记搜不到的原因是什么? 小红书发布过的笔记不见了怎么办?它刚发的笔记搜不到的原因是什么? Mar 21, 2024 pm 09:30 PM

作为一名小红书的用户,我们都曾遇到过发布过的笔记突然不见了的情况,这无疑让人感到困惑和担忧。在这种情况下,我们该怎么办呢?本文将围绕“小红书发布过的笔记不见了怎么办”这一主题,为你详细解答。一、小红书发布过的笔记不见了怎么办?首先,不要惊慌。如果你发现笔记不见了,保持冷静是关键,不要慌张。这可能是由于平台系统故障或操作失误引起的。检查发布记录很简单。只需打开小红书App,点击“我”→“发布”→“所有发布”,就可以查看自己的发布记录。在这里,你可以轻松找到之前发布的笔记。3.重新发布。如果找到了之

如何在GIMP中创建像素艺术 如何在GIMP中创建像素艺术 Feb 19, 2024 pm 03:24 PM

本文将引起您的兴趣,如果您有意在Windows上使用GIMP进行像素艺术创作。GIMP是一款著名的图形编辑软件,不仅免费开源,还能帮助用户轻松创建出美丽的图像和设计。除了适用于初学者和专业设计师外,GIMP也可以用于制作像素艺术,这种数字艺术形式是利用像素作为唯一构建块来进行绘制和创作的。如何在GIMP中创建像素艺术以下是在WindowsPC上使用GIMP创建像素图片的主要步骤:下载并安装GIMP,然后启动应用程序。创建一个新的形象。调整宽度和高度的大小。选择铅笔工具。将笔刷类型设置为像素。设置

如何在真我手机上创建文件夹? 如何在真我手机上创建文件夹? Mar 23, 2024 pm 02:30 PM

标题:真我手机新手指南:如何在真我手机上创建文件夹?在当今社会,手机已经成为人们生活中必不可少的工具。而真我手机作为一款备受欢迎的智能手机品牌,其简洁、实用的操作系统备受用户喜爱。在使用真我手机的过程中,很多人可能会遇到需要整理手机中的文件和应用的情况,而创建文件夹就是一种有效的方式。本文将介绍如何在真我手机上创建文件夹,帮助用户更好地管理自己的手机内容。第

格力+如何创建家庭 格力+如何创建家庭 Mar 01, 2024 pm 12:40 PM

很多朋友表示想知道在格力+软件里该怎么去创建家庭,下面为大家带来了操作方法,想要了解的朋友和我一起来看看吧。首先,打开手机上的格力+软件,并登录。接着,在页面底部的选项栏中,点击最右边的“我的”选项,即可进入个人账户页面。2.来到我的页面后,在“家庭”下方的选项里有一个“创建家庭”,找到后在它的上面点击进入。3.接下来跳转到创建家庭的页面里,根据提示在输入框里输入要设置的家庭名称,输入好后在右上角点击“保存”按钮。4.最后在页面下方会弹出一个“保存成功”的提示,代表家庭已经成功创建好了。

小红书怎么在笔记中添加商品链接 小红书在笔记中添加商品链接教程 小红书怎么在笔记中添加商品链接 小红书在笔记中添加商品链接教程 Mar 12, 2024 am 10:40 AM

  小红书怎么在笔记中添加商品链接?在小红书这款app中用户不仅可以浏览各种内容还可以进行购物,所以这款app中关于购物推荐、好物分享的内容是非常多的,如果小伙伴在这款app也是一个达人的话,也可以分享一些购物经验,找到商家进行合作,在笔记中添加连接之类的,很多人都愿意使用这款app购物,因为不仅方便,而且有很多达人会进行一些推荐,可以一边浏览有趣内容,一边看看有没有适合自己的衣服商品。一起看看如何在笔记中添加商品链接吧!小红书笔记添加商品链接方法  在手机桌面上打开app。  在app首页点击

远程桌面连接服务用命令打开方法 远程桌面连接服务用命令打开方法 Dec 31, 2023 am 10:38 AM

远程桌面连接给很多用户的日常生活带来了方便,也有部分想使用命令来进行远程连接,操作起来更方便,那么该怎么连接呢?远程桌面连接服务用命令打开方法可以帮你解决。远程桌面连接命令怎么设置:方法一、通过运行命令远程连接1、按下“Win+R”打开“运行”输入mstsc2、然后点击“显示选项”3、输入ip地址点击“连接”。4、显示正在连接即可。方法二、通过命令提示符远程连接1、按下“Win+R”打开“运行”输入cmd2、在“命令提示符”输入mstsc/v:192.168.1.250/console

如何使用Highcharts创建甘特图表 如何使用Highcharts创建甘特图表 Dec 17, 2023 pm 07:23 PM

如何使用Highcharts创建甘特图表,需要具体代码示例引言:甘特图是一种常用于展示项目进度和时间管理的图表形式,能够直观地展示任务的开始时间、结束时间和进度。Highcharts是一款功能强大的JavaScript图表库,提供了丰富的图表类型和灵活的配置选项。本文将介绍如何使用Highcharts创建甘特图表,并给出具体的代码示例。一、Highchart

See all articles