gpt4 book ai didi

java - 使用 Java 建立 REST 服务的最快方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 13:46:00 24 4
gpt4 key购买 nike

我有一些用 Java 编写的实用方法,用于针对服务创建测试数据。我的几个有相同用例的同事认为,如果他们可以重用它会很酷,但他们分别用 Perl 和 Python 编写测试。所以我正在考虑建立一个 JSON REST 服务来公开这些方法。

我编写网络应用程序的经验有限。建立和部署我的服务的最快方法是什么?

我正在考虑使用 eclipse/spring 来执行此操作并使用 ant 部署在 Jetty 容器上。但我想听听您对此的经验。此外,似乎某些 IDE/插件对某些技术的支持比其他技术更好。所以我想听听 IDE/Plugins + J2EE 技术堆栈 + 服务器(如果这很重要)对于我的用例来说是一个很好的组合,以及为什么。我想坚持开源软件。

最佳答案

我相信使用 Maven 可以让您尽快上手。以下是你可以做到的。

它使用 RESTEasy JAX-RS 的实现(Java API for RESTful Web Services,Java EE 6 的官方部分)。

这是一个具有最小结构的 java war maven 项目。这些是文件:

-pom.xml
-src
|
--main
|
--java
|
--rest
|
--HelloResource.java
--JaxRsActivator.java

我将其称为 simpleRest,如下所示。所有的文件都如图所示:

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>simpleRest</groupId>
<artifactId>simpleRest</artifactId>
<version>1.0</version>
<packaging>war</packaging>

<dependencies>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.3.1.GA</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<!-- So maven doesn't require web.xml -->
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
</project>

HelloResource.java

package rest;

import java.util.Date;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/hello")
public class HelloResource {
@GET
@Produces("text/plain")
public String helloResource() {
return "Hello! It's "+new Date();
}
}

JaxRsActivator.java:

package rest;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/rest")
public class JaxRsActivator extends Application {

}

这会生成一个simpleRest.war(通过mvn clean package)。您可以将其部署到新安装的 JBoss AS 7.1.1.Final (只需将 war 文件放入 deploy 文件夹中)或 Tomcat .

之后,URL 按预期可用:

http://127.0.0.1:8080/simpleRest/rest/hello

这有多快?

关于java - 使用 Java 建立 REST 服务的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16703367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com