A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.jetbrains.com/help/idea/creating-and-running-your-first-restful-web-service.html below:

Tutorial: Your first RESTful web service

Tutorial: Your first RESTful web service

This tutorial describes how to create a simple RESTful web service in IntelliJ IDEA and deploy it to the Tomcat GlassFish application server. The service will output Hello, World! when you access a specific URL through the web browser or otherwise send a GET request to this URL. Use the switcher at the top of this page for instructions for a different application server.

You will create a new Java Enterprise project, add the necessary Java code, tell IntelliJ IDEA where your GlassFishTomcat server is located, then use a run configuration to build the artifact, start the server, and deploy the artifact to it.

Here is what you will need:

Create a new Java Enterprise project

IntelliJ IDEA includes a dedicated wizard for creating Java Enterprise projects based on various Java EE and Jakarta EE implementations. In this tutorial, we will create a simple web application.

  1. In the main menu, go to .

  2. In the New Project dialog, select Jakarta EE.

    Enter a name for your project: RestGlassfishHelloWorldRestTomcatHelloWorld. For this tutorial, use Oracle OpenJDK 21 as the project SDK and select the REST service template. Don't select or add an application server, we will do it later. Select Java and Maven. Click Next to continue.

  3. In the Version field, select Jakarta EE 10 because that's what Tomcat 10.1 used in this tutorial is compatible with.

    For Tomcat 9, select Java EE 8. For Tomcat 10, select Jakarta EE 9.1.

    In the Version field, select Jakarta EE 9.1 because that's what GlassFish 6.2.5 used in this tutorial is compatible with.

    For GlassFish 5, select the Java EE 8 specification. For GlassFish 7, select Jakarta EE 10.

    In the Dependencies list, select the following:

    Click Create.

Explore the default project structure

IntelliJ IDEA creates a project with some boilerplate code that you can build and deploy successfully.

Use the Project tool window to browse and open files in your project or press Ctrl+Shift+N and type the name of the file.

Configure the application server

Let IntelliJ IDEA know where the GlassFish Tomcat application server is located.

  1. Press Ctrl+Alt+S to open settings and then select .

  2. Click and select Glassfish Server Tomcat.

  3. Specify the path to the GlassFish Tomcat server install location. IntelliJ IDEA detects and sets the name and version appropriately.

Create a run configuration

IntelliJ IDEA needs a run configuration to build the artifacts and deploy them to your application server.

  1. In the main menu, go to .

  2. In the Run/Debug Configurations dialog, click , expand the Glassfish Server Tomcat Server node, and select Local.

  3. Fix any warnings that appear at the bottom of the run configuration settings dialog.

    Most likely, you will need to fix the following:

  4. On the Server tab, set the URL to point to the root resource:

    http://localhost:8080/RestGlassfishHelloWorld-1.0-SNAPSHOT/api/hello-world

    http://localhost:8080/RestTomcatHelloWorld_war_exploded/api/hello-world

  5. Click OK to save the run configuration.

  6. To run the configuration, press Alt+Shift+F10 and select the created application server configuration.

    Alternatively, if you have your run configuration selected in the main toolbar at the top, you can click in the main toolbar or press Shift+F10 to run it.

This run configuration builds the artifacts, then starts the GlassFish Tomcat server, and deploys the artifacts to the server. You should see the corresponding output in the Services tool window.

Once this is done, IntelliJ IDEA opens the specified URL in your web browser.

If not, try opening the URL yourself: http://localhost:8080/RestGlassfishHelloWorld-1.0-SNAPSHOT/api/hello-world http://localhost:8080/RestTomcatHelloWorld_war_exploded/api/hello-world

Troubleshooting Compatibility with Jakarta EE

If you get a 404 error, make sure you have selected the Jakarta EE specification version that is compatible with your version of GlassFish when creating the project.

For more information, refer to the GlassFish version compatibility.

Older IntelliJ IDEA versions

If you are using IntelliJ IDEA version 2020.2.2 or earlier, the New Project wizard will not add all of the necessary dependencies required for Tomcat. In this case, open pom.xml and add the following dependencies:

<dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>2.31</version> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>2.31</version> </dependency>

For example, in version 2020.2.3, the generated pom.xml looks like this:

<?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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>RestTomcatHelloWorld</artifactId> <version>1.0-SNAPSHOT</version> <name>RestTomcatHelloWorld</name> <packaging>war</packaging> <properties> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.source>1.8</maven.compiler.source> <junit.version>5.6.2</junit.version> </properties> <dependencies> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>2.31</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>2.31</version> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>2.31</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>2.31</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.0</version> </plugin> </plugins> </build> </project>

11 October 2024


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4