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

我正在尝试通过 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.java


package 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";

    }

}


智慧大石
浏览 249回答 3
3回答

www说

在你的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 {&nbsp; &nbsp; @Override&nbsp; &nbsp; public Set<Class<?>> getClasses() {&nbsp; &nbsp; &nbsp; &nbsp; HashSet<Class<?>> classes = new HashSet<Class<?>>();&nbsp; &nbsp; &nbsp; &nbsp; classes.add(BookRestService.class);&nbsp; &nbsp; &nbsp; &nbsp; return classes;&nbsp; &nbsp; }}在此之后,您的 REST url 将变为http://localhost:8080/webservice/restRoot/book

交互式爱情

默认情况下,resteasy 不会扫描您的整个项目的服务类。你需要告诉resteasy扫描它。使用下面的代码web.xml启用扫描。<context-param>&nbsp; &nbsp; <param-name>resteasy.scan</param-name>&nbsp; &nbsp; <param-value>true</param-value></context-param>

慕工程0101907

Register&nbsp;web&nbsp;context:&nbsp;/webservice意味着您编码的所有路径都必须在 /webservice 之后。所以&nbsp;http://localhost:8080/book你应该使用&nbsp;http://localhost:8080/webservice/book
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java