我是resttemplate的新手,以及Apache http类如何支持它。所以起初我认为我需要做的就是使用Expect:100 Continue手动创建http标头,以便开始使用该功能实现PUT方法。在我的情况下,我正在使用对话框的服务器响应正确但我的应用程序从未看到100-Continue响应因为100-Continue被忽略,因此:[org.apache.commons.httpclient.HttpMethodBase] - < '丢弃意外回复:HTTP / 1.1 100继续>。 Wireshark确认我得到了100继续。
我现在明白在做了一些阅读之后,我必须设置PUT方法的默认行为来使用Expect:100-Continue标题......我开始认为它在任何Springsource创作的类中都没有。据我所知,相关的Apache抽象类是:org.apache.commons.httpclient.methods.ExpectContinueMethod,它有一个名为org.apache.commons.httpclient.methods.PutMethod的子类,并且无论如何都有一个setter for在所有PUT请求中使用Expect:100-CONTINUE。
现在这导致了2个问题,现在是1.
如何设置此功能,以便在与服务器的对话中使用100-CONTINUE?我一直在Springsource文档中搜索,我看到HttpClientParams的设置位置以及CommonsClientHttpRequestFactory的位置,但是当resttemplate作用于PUT请求时,我不知道在何处或如何设置ExpectContinueMethod的使用。我开始认为从任何Springsource类或包中都不可能......我感觉到resttemplate太高了,可以这么说。
也许我必须导入许多Apache包来实例化它们并指定使用ExpectContinue功能,并以某种方式确保resttemplate和其他Springsource类使用它们(如果这甚至可能或有意义)。今天,这是我的头脑,但我对需要做什么有一个模糊的概念。即使是真的,这是否意味着对于任何应用程序,我必须选择永久使用100-Continue标头用于所有PUT请求?我不能让一些PUT请求使用它而其他人不依赖于身体的大小?这太可怕了。
即使是正确方向的指针也会受到赞赏。
-Paul