Estoy probando una APLICACIÓN REST usando Rest Assured. Me estoy encontrando con un error al intentar enviar con un parámetro tanto en la url como en el contenido del cuerpo. Esto funciona correctamente cuando se prueba manualmente. Extracción del parámetro formar la URL no es una opciónDescanso asegurado: no se puede POSTAR con los parámetros y el cuerpo
Código de prueba:
String endpoint = http://localhost:8080/x/y/z/id?custom=test;
String body = "[{\"boolField\":true,\"intField\":991},
{\"boolField\":false,\"intField\":998}]";
expect().spec(OK).given().body(body).post(endpoint);
que arroja el siguiente error al ejecutar
You can either send parameters OR body content in the POST, not both!
java.lang.IllegalStateException: You can either send parameters OR body content in the POST, not both!
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:198)
at com.jayway.restassured.internal.RequestSpecificationImpl.sendRequest(RequestSpecificationImpl.groovy:282)
at com.jayway.restassured.internal.RequestSpecificationImpl.this$2$sendRequest(RequestSpecificationImpl.groovy)
at com.jayway.restassured.internal.RequestSpecificationImpl$this$2$sendRequest.callCurrent(Unknown Source)
at com.jayway.restassured.internal.RequestSpecificationImpl.post(RequestSpecificationImpl.groovy:83)
...
¿Por qué Descanso asegurado no permite que tanto los parámetros como el contenido del cuerpo de ¿una publicación?
Im usando Tenga la seguridad de 1.1.6, que es bastante antiguo. Sin embargo, mirando el código en [github] (https://github.com/jayway/rest-assured/blob/master/rest-assured/src/main/groovy/com/jayway/restassured/internal/RequestSpecificationImpl.groovy) esto todavía parece ser un problema –
No sabía que podría tener los parámetros de publicación y un cuerpo, por lo que tal vez los creadores de Rest Assured tampoco lo hicieron. ¿Intentó construir Rest Assured usted mismo y comentar este cheque? – mercutio
ha creado un problema para rest-assured: http://code.google.com/p/rest-assured/issues/detail?id=196&thanks=196&ts=1346105863 –