0

我有一个 MVC 应用程序与使用 CXF 设计的 REST 接口通信。我正在提交一个带有动态大小列表作为 FormParam 的 POST 请求。我见过非常奇怪的行为。当列表大小超过一定限制时,FormParam 中的列表始终为空。在 POST 请求中可以发送多大的列表是否有大小限制。下面是我的 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>

我在哪里可以找到相关材料来解决此问题的任何想法或建议。

4

1 回答 1

0

这似乎与发送的数据大小有关。我将 REST API 更改为以下格式并解决了它。由于它是 POST API,默认参数类型为 Form Param,因此需要明确提及它们,只需将 newStatus 提及为 QueryParam,因为我在 url 中发送它。

@POST
@Path("/addIds")
public void addIds(
        @QueryParam("newStatus") Status newStatus, List<Long> Ids
);
于 2016-12-23T08:35:30.643 回答