1

Groovy HttpBuilderは HTTP PATCH メソッドをサポートしていません。これを使用してリクエストを発行するにはどうすればよいですか?

4

3 に答える 3

4

メソッドは Enum として渡されるため、通常の方法では新しいメソッドを追加できません。幸いなことに、これは Groovy であるため、すべてが可能です。クロージャーのデリゲートの org.apache.http.client メソッドを置き換えます。

import groovyx.net.http.*
import org.apache.http.client.methods.HttpPatch

@Grab(group = 'org.codehaus.groovy.modules.http-builder', module = 'http-builder', version = '0.6')
@Grab(group = 'org.apache.httpcomponents', module = 'httpcomponents-client', version = '4.2')
def runPatch() {
    //serverinfo.groovy just returns the request method
    //Method.DELETE is switched, and won't be used (can't use null, NPE)
    new HTTPBuilder('http://localhost:9090/serverinfo.groovy').request(Method.DELETE) {
        delegate.request = new HttpPatch()
        response.success = { resp, body ->
            assert resp.status == 200
            assert body == 'PATCH'
        }
    }
}

runPatch()
于 2013-05-29T14:15:20.387 に答える
0

その他のオプション - 0.7-SNAPSHOTを使用します。

于 2013-06-01T18:49:34.337 に答える