title: How to get URL of REST endpoint?
body: <p>Can someone explain why this URL returns 404? </p>
  
  <p><code>http://localhost:8080/HelloWorld-1.0-SNAPSHOT/rest/hat</code></p>
  
  <p>How should I be passing this so the parameter <code>hat</code> is passed in and see <code>Hello hat!</code> on the output</p>
  
  <p>HelloService.java</p>
  
  <pre><code>package com.sentiment360.helloworld;
  
  public class HelloService {
  
      String createHelloMessage(String name) {
          return "Hello " + name + "!";
      }
  
  }
  </code></pre>
  
  <p>HelloWorld.java</p>
  
  <pre><code>package com.sentiment360.helloworld;
  
  /*
   * To change this license header, choose License Headers in Project Properties.
   * To change this template file, choose Tools | Templates
   * and open the template in the editor.
   */
  
  import javax.inject.Inject;
  import javax.ws.rs.GET;
  import javax.ws.rs.Path;
  import javax.ws.rs.Produces;
  
  /**
   * A simple REST service which is able to say hello to someone using HelloService Please take a look at the web.xml where JAX-RS
   * is enabled
   *
   * @author gbrey@redhat.com
   *
   */
  
  @Path("/")
  public class HelloWorld {
      @Inject
      HelloService helloService;
  
      @GET
      @Path("/json")
      @Produces({ "application/json" })
      public String getHelloWorldJSON() {
          return "{\"result\":\"" + helloService.createHelloMessage("World") + "\"}";
      }
  
      @GET
      @Path("/xml")
      @Produces({ "application/xml" })
      public String getHelloWorldXML() {
          return "&lt;xml&gt;&lt;result&gt;" + helloService.createHelloMessage("World") + "&lt;/result&gt;&lt;/xml&gt;";
      }
  
  }
  </code></pre>
  
  <p>JAXActivator.java</p>
  
  <pre><code>/*
   * To change this license header, choose License Headers in Project Properties.
   * To change this template file, choose Tools | Templates
   * and open the template in the editor.
   */
  package com.sentiment360.helloworld;
  
  import javax.ws.rs.ApplicationPath;
  import javax.ws.rs.core.Application;
  
  /**
   * JAXActivator is an arbitrary name, what is important is that javax.ws.rs.core.Application is extended
   * and the @ApplicationPath annotation is used with a "rest" path.  Without this the rest routes linked to
   * from index.html would not be found.
   */
  @ApplicationPath("rest")
  public class JAXActivator extends Application {
      // Left empty intentionally
  }
  </code></pre>
  
  <p>web.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  
  &lt;web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
       version="3.1"&gt;
      &lt;session-config&gt;
          &lt;session-timeout&gt;
              30
          &lt;/session-timeout&gt;
      &lt;/session-config&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p>My directory structure:</p>
  
  <p><a href="https://i.stack.imgur.com/d3Vww.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/d3Vww.png" alt="my directory structure"></a></p>