La requête POST échoue (test de repos assuré)

J'ai un problème avec une requête POST avec le repos assuré.

Ce code fonctionne:

given().contentType(ContentType.JSON).body("{\"key\": \"val\"}").    
        when().post(url + resource).then().assertThat().statusCode(200).body("otherVal", equalTo(otherVal)); 

Mais j'ai essayé d'utiliser param() ou parameter() des méthodes telles que:

Cela donne:

given().parameter("key", "val").                                      
        when().post(url + resource).then().assertThat().statusCode(200);  

Expected status code <200> doesn't match actual status code <415>.

Ce:

    given().parameter("key", "val").                                                         
            when().post(url + resource).then().assertThat().body("otherVal", equalTo(otherVal));  

java.lang.IllegalStateException: Expected response body to be verified as JSON, HTML or XML but no content-type was defined in the response.
Try registering a default parser using:
RestAssured.defaultParser(<parser type>);

Et Ce:

RestAssured.defaultParser = Parser.JSON;                                                   
given().parameter("key", "val").                                                       
        when().post(url + resource).then().assertThat().body("otherVal", equalTo(otherVal));

java.lang.IllegalArgumentException: The JSON input text should neither be null nor empty

Je suis à court d'idées quoi de mal.

Ce que j'essaie de faire est d'éviter d'écrire plein jsons pour tous les tests, il sera plus rapide si je pouvais ignorer tout "" et {}.
Mon approche correcte?

source d'informationauteur Purple