2016-07-11 3 views
0

dies mein Code400 - schlecht Anfrage - Anfrage ist syntaktisch falsch

var myObj = 
{ 
    "id": 0, 
    "createdDate": "12-12-2014 12:00:00", 
    "fromEmail": "[email protected]", 
    "sampleBooleanValue": false, 
    "extraDescrition":"ssfsvgsf", 
    "sampleArraay":[{"arrayElem1"}, {"arrayElem2"}] 
}; 

console.log(downtime1); 

$rootScope.httpPost('createMyObj/', myObj).success(function (successdata) { 
    console.log(successdata); 
}).error(function (errordata) { 
    console.log(errordata); 
}); 

ich meinen REST-Endpunkt habe mit URI createMyObj erstellt, aber sobald ich einreichen schlage ich 400-Bead-Anfrage bekommen - der eingereichten Antrag ist syntaktisch inkorrekter Fehler

Ist mein JSON im richtigen Format?

EDIT: Hier ist meine corrosponding Java Bean

public class MyObj { @Id private int id; private String fonEmail; @ElementCollection private List<String> sampleArraay; private ZonedDateTime createdDate; private Boolean sampleBooleanValue; private String extraDescription;

+0

Haben Sie versucht, Ihr Backend mit einem Programm wie Postman zu überprüfen? –

+0

Ich habe nicht viel Backend als nur eine REST API. Meine Methode reateMyObj in Java gibt gerade jetzt ohne weitere Verarbeitung des empfangenen Objekts den Wert true zurück. –

+0

Warum würden Sie '$ http' jemals eine Eigenschaft von '$ rootScope' machen? Es macht keinen Sinn, es zu verschmutzen, wenn die Abhängigkeit, die einen Dienst injiziert, nicht komplexer ist als das Einspeisen von '$ rootScope' – charlietfl

Antwort

2

Ihr Array aus dem sampleArraay Feld ungültig ist. Versuchen:

var myObj = { 
    "id": 0, 
    "createdDate": "12-12-2014 12:00:00", 
    "fromEmail": "[email protected]", 
    "sampleBooleanValue": false, 
    "extraDescrition":"ssfsvgsf", 
    "sampleArraay":["arrayElem1", "arrayElem2"] 
}; 

console.log(downtime1); 
$rootScope.httpPost('createMyObj/', myObj).success(function (successdata) { 
    console.log(successdata); 
}) 
.error(function (errordata) { 
    console.log(errordata); 
}); 
0

"sampleArraay": [{ "arrayElem1"}, { "arrayElem2"}]

Sieht falsch. Haben Sie geplant, dass die Elemente von sampleArraay verschachtelte Objekte sind?

Auch auf die Gefahr, oberflächlich zu sein, die Rechtschreibung in Ihrem Beispiel, Wörter wie "Array" und "Beschreibung" sind falsch. Könnte es sein, dass an einem Ort falsch geschrieben wird und nicht am anderen?

Eine Sache, die ich tun möchte, wenn ich 400 Fehler wie folgt bekomme, wird das Objekt, das ich versuche zu senden, durch das Auskommentieren von Elementen progressiv vereinfachen, bis ich den Schuldigen erreiche.

Ich tat dies auf JSFiddle.com (eine großartige Ressource) mit Ihrem Code und einer einfachen Alert-Anweisung, um das Array-Problem zu bestätigen.