2011-08-17 9 views
5

He la siguiente anotación en mi código RESTEasy:¿Cómo cambio el contexto REST generado por enunciate?

@Path("/v1/authenticateService") 

enunciar genera un "punto de montaje" en la documentación como:

/rest/v1/authenticateService/authenticate 

He intentado usar el siguiente en mi enunciate.xml, para anular el "/ descanso" contexto:

<services> 
    <rest defaultRestSubcontext="/gateway-service-access-pox" /> 
</services> 

también he intentado lo siguiente, pero no hacer nada, ya sea:

<deployment protocol="https" host="(host)" context="/gateway-service-access-pox" /> 

Estoy usando enunciate 1.23 para generar documentos para un proyecto de Maven 3, multi-módulo.

aquí es lo que está escrito en la consola:

[INFO] --- maven-site-plugin:3.0:site (default-cli) @ gateway-service-access-pox --- 
[INFO] configuring report plugin org.apache.maven.plugins:maven-project-info-reports-plugin:2.4 
[INFO] configuring report plugin org.codehaus.enunciate:maven-enunciate-plugin:1.23 
[WARNING] No project URL defined - decoration links will not be relativized! 
[INFO] Rendering site with org.apache.maven.skins:maven-default-skin:jar:1.0 skin. 
[INFO] Generating "About" report --- maven-project-info-reports-plugin:2.4 
[INFO] Generating "Web Service API" report --- maven-enunciate-plugin:1.23 
[INFO] initializing enunciate. 
[INFO] invoking enunciate:generate step... 
[INFO] invoking enunciate:compile step... 
[INFO] invoking enunciate:build step... 
[INFO] closing enunciate. 

Alguna idea de lo que estoy haciendo mal?

Más información ... La enunciate.xml completa (en caso de que haya un problema que afecta a la entrada:

<?xml version="1.0"?> 
<enunciate label="platform-gateway-api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.23.xsd"> 

<api-import pattern="com.intuit.platform.gateway.common.DetailedResponse" /> 
<api-import pattern="com.intuit.platform.gateway.service.access.domain.*" /> 
<api-import pattern="com.intuit.platform.gateway.service.identity.domain.Identity" /> 

<deployment protocol="https" host="(host)" context="/gateway-service-access-pox" /> 

<namespaces> 
    <namespace uri="http://schema.intuit.com/platform/integration/detailedResponse/v1" id="common" /> 
    <namespace uri="http://schema.intuit.com/platform/identity/user/v1" id="user" /> 
    <namespace uri="http://schema.intuit.com/platform/access/token/v1" id="token" /> 
</namespaces> 

<services> 
    <rest defaultRestSubcontext="/gateway-service-access-pox" /> 
</services> 

<modules> 
    <!-- Docs --> 
    <docs splashPackage="com.intuit.platform.gateway.service.ticket.api" title="Platform Gateway Access API" 
     copyright="Intuit Inc"> 
     <download name="License" file="LICENSE.txt" description="The license file governing the use of this API." /> 
    </docs> 
    <!-- Disable all the client generation tools --> 
    <basic-app disabled="true" /> 
    <c disabled="true" /> 
    <csharp disabled="true" /> 
    <java-client disabled="true" /> 
    <jaxws-client disabled="true" /> 
    <jaxws-ri disabled="true" /> 
    <jaxws-support disabled="true" /> 
    <jersey disabled="true" /> 
    <obj-c disabled="true" /> 
    <xml disabled="true" /> 
</modules> 
</enunciate> 

Por cierto, si hay una mejor manera de obtener ayuda sobre esta cuestión (una especie de bug forum), por favor avíseme. Soy un novato con enunciate y no sabía si esto era un error o mi ignorancia

+0

¿Es tal vez este problema? https://github.com/stoicflame/enunciate/issues/14 Sin embargo, funciona para mí.Además, no puedo ver el atributo _docsDir_ establecido en su elemento ; si no tiene el documento generado en la raíz, debe indicar dónde piensa colocarlos, por lo que Enunciate genera una ruta relativa correcta para su API. – Pavel

Respuesta

2

como Ryan dijo que el "defaultRestSubcontext" funciona. Por ejemplo, lo usé de esta manera para eliminar "resto" del punto de montaje generado por defecto:

<servicios>
< de descanso defaultRestSubcontext = "/"/>
</servicios >

Si uno defaultRestSubcontext conjunto a "/" La generación comienza desde "/" y luego siguió por el camino del punto final.

P.S. Estoy usando enunciar 1,24

1

Bueno ... He estar cerca de este par de días y finalmente se está trabajando y el punto de montaje adecuado tiene subcontexto resto por defecto :)

2 cosas que hice para hacer que funcione.

  1. habilitar el módulo XML

    <xml disabled="false" /> 
    
  2. Agregar archivo JAR enunciado en XML para la ejecución.

No sé por qué es eso, pero está trabajando para mí ahora.

Cuestiones relacionadas