ws

JAX-RS jse publish

  • App.Java
  • MyResources.java
  • pom.xml

http://localhost:8080/application.wadl

App.Java

package com.training.rs;

import java.util.List;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.MediaType;

@ApplicationPath("/")
@Path("/")
public class Service extends Application {

    @GET
    @Path("/list/{param}")
    @Produces(MediaType.APPLICATION_JSON)
    public List<String> list(@PathParam("param") List<String> name) {
        return name;
    }

}

MyResources.java

package com.training;

import java.io.IOException;
import java.net.URI;

import javax.ws.rs.core.UriBuilder;

import org.glassfish.grizzly.http.server.HttpServer;

import com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory;
import com.sun.jersey.api.core.PackagesResourceConfig;
import com.sun.jersey.api.core.ResourceConfig;

public class App {

    private static URI getBaseURI() {
        return UriBuilder.fromUri("http://localhost/").port(8080).build();
    }

    public static final URI BASE_URI = getBaseURI();

    protected static HttpServer startServer() throws IOException {
        System.out.println("Starting grizzly...");
        ResourceConfig rc = new PackagesResourceConfig(
                "com.training");
        return GrizzlyServerFactory.createHttpServer(BASE_URI, rc);
    }

    public static void main(String[] args) throws IOException {
        HttpServer httpServer = startServer();
        System.out
                .println(String
                        .format("Jersey app started with WADL available at "
                                + "%sapplication.wadl\nTry out %shello/bharat\nHit enter to stop it...",
                                BASE_URI, BASE_URI));
        System.in.read();
        httpServer.stop();
    }

}

pom.xml

<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.training</groupId>
    <artifactId>jax_rs_jse_publish</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <dependencies>

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
            <version>1.18.3</version>
        </dependency>

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.18.3</version>
        </dependency>

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-grizzly2</artifactId>
            <version>1.18.3</version>
        </dependency>

    </dependencies>

</project>
<application><doc jersey:generatedBy="Jersey: 1.18.3 12/01/2014 08:23 AM"/><grammars/><resources base="http://localhost:8080/"><resource path="myresources"><method id="get" name="GET"><response><representation mediaType="*/*"/></response></method></resource></resources></application>