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 :

@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 선언의 모든 경로 매개 변수를 추가 : @ApiMethod(..., path = "/test/imprimirPersona"). 선두의 슬래시가 여기에 핵심입니다.