2016-12-21 2 views
0

CXF를 사용하여 설계된 REST 인터페이스와 통신하는 MVC 응용 프로그램이 있습니다. FormParam 같이 동적 크기 목록이있는 POST 요청을 제출합니다. 나는 이상한 행동을 보았다. 목록 크기가 특정 제한을 초과하면 FormParam의 목록은 항상 비어 있습니다. POST 요청에서 얼마나 큰 목록을 보낼 수 있는지 크기 제한이 있습니까? 아래는 내 REST 인터페이스입니다.크기가 특정 한계를 초과하면 @FormParam의 REST 서비스 요청 목록이 비어 있습니다.

@POST 
@Path("/addIds") 
public void addIds(
     @FormParam("newStatus") Status newStatus, 
     @FormParam("Ids") List<Long> Ids 
); 

클라이언트가 아래 구성을 사용하여이 인터페이스에 연결 중입니다.

<jaxrs:client id="remoteInterfaceClient" 
        serviceClass="com.test.RemoteInterface" 
        username="test" 
        password="test" 
        address="${url}"> 

     <jaxrs:features> 
      <bean class="org.apache.cxf.transport.common.gzip.GZIPFeature" /> 
      <cxf:logging /> 
     </jaxrs:features> 

     <jaxrs:providers> 
      <bean class=".......JacksonJaxbJsonProvider" /> 
     </jaxrs:providers> 

    </jaxrs:client> 

이 문제를 해결하기위한 관련 자료는 어디에서 찾을 수 있습니까?

답변

0

전송 된 데이터의 크기와 관련이있는 것으로 보입니다. REST API를 아래 형식으로 변경하여 해결했습니다. POST API이므로 기본 param 형식은 Form Param이므로 명시 적으로 언급해야합니다. url로 전송하기 때문에 newStatus를 QueryParam으로 언급해야합니다.

@POST 
@Path("/addIds") 
public void addIds(
     @QueryParam("newStatus") Status newStatus, List<Long> Ids 
);