1

WSにはJerseyを使用しています。私は次の方法を持っています:

@Path("...")
@POST
public Response updateConfigs(@Context HttpServletRequest request, ....
        ConfigurationItemList itemList) {
    ...
}

itemListはPOSTパラメータです。空のPOSTパラメータを使用してこのメ​​ソッドを呼び出そうとすると、例外が発生します。

[#|2012-10-12T14:08:52.623+0200|SEVERE|glassfish3.1.1|com.sun.jersey.spi.container.ContainerResponse|_ThreadID=25;_ThreadName=Thread-2;|The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.io.EOFException: No content to map to Object due to end of input
       at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2173)
       at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2106)
       at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1004)
       ...
|#]

[#|2012-10-12T14:08:52.624+0200|WARNING|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=25;_ThreadName=Thread-2;|StandardWrapperValve[...ApplicationConfig]: PWC1406: Servlet.service() for servlet ....ApplicationConfig threw exception
java.io.EOFException: No content to map to Object due to end of input
       at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2173)
       at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2106)
       at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1004)
       at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:410)
       ....
|#]
4

2 に答える 2

1

発生するエラー

java.io.EOFException:入力が終了したため、オブジェクトにマップするコンテンツがありません

空の入力に期待するものです。消費するJSONがないので、JAX-RSに何を期待しますか?

編集: JAX-RS 2.0では、検証が含まれます。

于 2012-11-08T08:35:59.303 に答える
1

考えられる唯一の回避策は、着信を適切に処理する独自のJAX-RSデータプロバイダーを使用することだと思いますNULL。参照:JAX-RS / Jerseyエラー処理をカスタマイズする方法は?

于 2012-11-08T13:52:53.817 に答える