Problème avec i/o Non sérialiseur trouvé pour la classe org.json.JSONObject et pas de propriétés découvertes pour créer BeanSerializer
pas sûr de ce qui se passe, le message d'erreur est:
Problem with i/o No serializer found for class org.json.JSONObject and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) )
J'essaie d'envoyer une requête à un service RESTful. Je suis de l'analyse d'un POSTE Et l'envoi modifié paires clé/valeur pour 'ID' et 'activé' pour le METTRE.
@Test(dependsOnMethods= {"Post"})
public void Put() throws IOException {
logger.logTestActivity("Testing FORM data POST using Excel file");
requestBuilder = new RequestSpecBuilder();
String jsonString = "";
boolean enabledModify = false;
try {
BufferedReader in = new BufferedReader(new FileReader(
xmlTest.getParameter("json-post")));
String str;
while ((str = in.readLine()) != null) {
jsonString += str;
}
JSONObject jsonObjPut = new JSONObject(jsonString);
jsonObjPut.put("_id", createUserId);
jsonObjPut.put("enabled",enabledModify);
System.out.println(jsonObjPut.toString());
in.close();
requestBuilder.setContentType(ContentType.JSON);
requestSpecification = requestBuilder.build();
responseBuilder.expectStatusCode(Integer.parseInt(xmlTest
.getParameter("http-status-code-200")));
responseBuilder.expectContentType(ContentType.JSON);
responseSpecification = responseBuilder.build();
System.out.println(createUserId);
String responseJson = given().body(jsonObjPut).
when().put("/" + createUserId).asString();
System.out.println(responseJson);
logger.logTestActivity("Finished testing FORM data POST using Excel file");
} catch (AssertionError e ) {
logger.logTestActivity(
"Error testing FORM data post: " + e.getMessage(),logger.ERROR);
System.out.println("REST URL: " + RestAssured.baseURI + " "
+ RestAssured.port + " " + RestAssured.basePath );
Assert.fail("Error testing FORM data POST: " + e.getMessage());
throw e;
} catch (IOException | JSONException e) {
System.out.println("Problem with i/o" + e.getMessage());
}
}
createUserID est une variable globale qui est l'ID analysées à partir de la POSTE.
Fichier JSON qui est analysée ressemble à ceci:
{
"enabled" : false,
"_id" : "fdse332a-22432d-4432b"
}
En avant la méthode d'essai je suis en train d'ouvrir la restassured avec toutes les url des points de terminaison...
Également, est également défaut, avec une Erreur NULLPointerException. Que peut-être un autre post dans le futur!
OriginalL'auteur | 2012-11-06
Vous devez vous connecter pour publier un commentaire.
Solution: je n'étais pas la conversion de mon objet JSON pour une chaîne de caractères lors du passage à restassured.
Cela a fait le tour. Je vais maintenant modifier mon json avec ID généré et réussir à METTRE sur le service RESTful.
OriginalL'auteur
J'ai été également confrontés à la même question avec java Spring Api rest.
Il jetait des BeanSerializerExcption.
Utilisation
JsonNODE
classe au lieu deJSONObject
.OriginalL'auteur ketankeshri