Beste Art der Umsetzung der Methode OPTIONEN in REST-Dienste

Mache ich eine REST-Anwendung. Ich habe die GET Methode ohne Probleme, jedoch wenn ich die Umsetzung der POST Methode, es sagt, dass ich nicht die OPTIONS - Methode implementiert. Ich mache die OPTIONS Methode für URI:

http://192.168.1.26:8080/sellAppWeb/api/object/

Habe ich die POST und OPTIONS Methoden:

@OPTIONS
@Produces("application/json; charset=UTF-8")
public Response options() {
    return Response.ok().build();
}

@Override
@POST
public Response save(CervejaDTO cervejaDTO) {
    cervejaController.register(cervejaDTO);
    return Response.ok(cervejaDTO).build();
}

Dann bin ich aus der DELETE Methode und immer wieder sagt, dass ich nicht OPTIONS Methode. Dann muss ich ein anderes machen OPTIONS Methode, die eine ID im URI Ende. Zum Beispiel löschen Sie ein Objekt mit id = 3:

http://192.168.1.26:8080/sellAppWeb/api/object/3

Brauche ich, um ein anderes OPTIONS mit der gleichen Struktur DELETE URI:

@OPTIONS
@Path("/{id}")
@Produces("application/json; charset=UTF-8")
public Response optionsDelete(@PathParam("id") Integer id) {
    return Response.ok().build();
}

@Override
@POST
public Response save(CervejaDTO cervejaDTO) {
    cervejaController.register(cervejaDTO);
    return Response.ok(cervejaDTO).build();
}

Kennt jemand einen Weg, um eine generische OPTIONS für alle ÜBRIGEN Anfragen?

den web.xml:

<display-name>Testes de serviços REST</display-name>
<description>Testes de serviços REST</description>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>

<context-param>
    <param-name>resteasy.scan</param-name>
    <param-value>true</param-value>
</context-param>

<context-param>
    <param-name>resteasy.servlet.mapping.prefix</param-name>
    <param-value>/api</param-value>
</context-param>

<context-param>
    <param-name>resteasy.providers</param-name>
    <param-value>br.com.sell.app.exception.handler.DefaultExceptionHandler</param-value>
</context-param>

<listener>
    <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>

<servlet>
    <servlet-name>resteasy-servlet</servlet-name>
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>resteasy-servlet</servlet-name>
    <url-pattern>/api/*</url-pattern>
</servlet-mapping>

was meinst du mit er sagt, dass nicht-OPTIONEN-Methode implementiert, für die es?
Wenn ich einen POST zu machen oder LÖSCHEN-Anfrage, die Anwendung automatisch eine OPTIONS-Anfrage vor.

InformationsquelleAutor Eduardo Vendruscolo | 2015-09-02

Schreibe einen Kommentar