为了账号安全,请及时绑定邮箱和手机立即绑定

在 Java 中创建一个简单的 Restful api

在 Java 中创建一个简单的 Restful api

智慧大石 2022-05-21 13:54:31
我正在尝试通过 intellij 创建一个简单的 Restful hello world api。我使用 maven-archetype-quickstart 创建了一个 maven 项目,然后在 pom.xml 中添加了<dependency>  <groupId>org.jboss.resteasy</groupId>  <artifactId>resteasy-jaxrs</artifactId>  <version>2.3.7.Final</version>  <scope>provided</scope></dependency>然后在 src->main->java->webservice 我有两个文件: App.java    package webservice;/** * Hello world! * */public class App {    public static void main( String[] args )    {        System.out.println( "Hello World!" );    }}和 BookRestService.javapackage webservice;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.Produces;@Path("/book")public class BookRestService {    @GET    @Produces("text/plain")    public String getBookTitle() {        return "H2G2";    }}
查看完整描述

3 回答

?
www说

TA贡献1775条经验 获得超8个赞

在你的App.java你需要定义ApplicationPath. 像下面的东西。


import java.util.HashSet;

import java.util.Set;


import javax.ws.rs.ApplicationPath;

import javax.ws.rs.core.Application;


@ApplicationPath("/restRoot")

public class App extends Application {


    @Override

    public Set<Class<?>> getClasses() {

        HashSet<Class<?>> classes = new HashSet<Class<?>>();

        classes.add(BookRestService.class);


        return classes;

    }

}

在此之后,您的 REST url 将变为


http://localhost:8080/webservice/restRoot/book


查看完整回答
反对 回复 2022-05-21
?
交互式爱情

TA贡献1712条经验 获得超3个赞

默认情况下,resteasy 不会扫描您的整个项目的服务类。你需要告诉resteasy扫描它。使用下面的代码web.xml启用扫描。


<context-param>

    <param-name>resteasy.scan</param-name>

    <param-value>true</param-value>

</context-param>


查看完整回答
反对 回复 2022-05-21
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

Register web context: /webservice

意味着您编码的所有路径都必须在 /webservice 之后。所以 http://localhost:8080/book你应该使用 http://localhost:8080/webservice/book


查看完整回答
反对 回复 2022-05-21
  • 3 回答
  • 0 关注
  • 248 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信