0

私はサーブレットを生成するためにGAEを使用していますが、すべて正常に動作しますが、エンドポイントのルートには常に削除する「v1」が追加されます。これはルートの例です:エンドポイントURLのv1を削除します

https://xxxxx.appspot.com/services/test/v1/imprimirPersona?n=5

と私は次のようになりたい:

https://xxxxx.appspot.com/services/test/imprimirPersona?n=5

しかし、私はそれを達成する方法を知らない。

のweb.xml:

<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"> 
<!-- Wrap the backend with Endpoints Frameworks v2. --> 
<servlet> 
    <servlet-name>EndpointsServlet</servlet-name> 
    <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class> 
    <init-param> 
     <param-name>services</param-name> 
     <param-value>com.example.skeleton.MyApi, 
     com.example.skeleton.Foo</param-value> 
    </init-param> 
</servlet> 
<!-- Route API method requests to the backend. --> 
<servlet-mapping> 
    <servlet-name>EndpointsServlet</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
</servlet-mapping> 

MyApy.class:@ApiMethod(..., path = "/test/imprimirPersona")

@Api(name = "test") 
public class MyApi { 

@ApiMethod(name = "datosPorUrl", httpMethod = "GET") 
public Message datosPorUrl(Message message, @Named("n") @Nullable Integer n) { 
    message.setMessage("El valor recibido es : " + n); 
    return message; 
} 

@ApiMethod(name = "imprimirPersona", httpMethod = "POST") 
public Message imprimirPersona(Persona persona, @Named("n") @Nullable Integer n) { 
    Message message = new Message(); 
    message.setMessage("Test : El valor nombre es : " + persona.getNombre() 
      + " la edad es : " + persona.getEdad()); 
    return message; 
} 
} 

答えて

1

があなたの@ApiMethod宣言のすべてのパスのパラメータを追加します。先頭のスラッシュがキーです。

関連する問題