2017-04-26 1 views
0

Ich versuche, meine Daten mithilfe von Spring Restful-Webdiensten in der Datenbank zu speichern.415 Nicht unterstützter Medientyp

Ich bekomme ständig einen nicht unterstützten Medientyp Fehler, wenn ich diesen Code in Postman ausführen.

ich meinen Code mit Front-End-JSP-Code und Repository-Klasse ..

Ich habe auch jackson Abhängigkeit in pom.xml Datei bearbeitet haben. Ich bin nicht in der Lage, herauszufinden, was mit meinem Code falsch ist, da ich ein Neuling für Restful Web Services bin.

-Controller ::

@RequestMapping(value="/insp_rep/{id}",method=RequestMethod.POST, headers = "Accept=application/json") 
    ResponseEntity <Void> addRepo(@RequestBody PC_Repo report, @PathVariable("id") int id){ 
     this.pmService.addRep(report); 
     return new ResponseEntity<Void>(HttpStatus.CREATED); 

    } 

JSP-Code zusammen mit AngularJS Skript

<html data-ng-app="formSubmit"> 
<head> 

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script> 

<script type="text/javascript"> 
    var app = angular.module('formSubmit', []); 

    app.controller('FormSubmitController',[ '$scope', '$http', function($scope, $http) { 

     $scope.list = []; 
      $scope.headerText = 'Inspection Report'; 

      $scope.submit = function() { 

       var formData = { 

         "ins_id": $scope.ins_id, 
         "date_insp": $scope.date_insp, 
         "bedrooms":$scope.bedrooms, 
         "balcony":$scope.balcony, 
         "kitchen":$scope.kitchen, 

         "bath_toilet":$scope.bath_toilet, 
         "parking_gar":$scope.parking_gar, 
         "garden":$scope.garden, 
         "others":$scope.others, 
         "action":$scope.action 

       }; 

       var response = $http.post('/PM/insp_rep/{id}', formData); 
       response.success(function(data, status, headers, config) { 
        $scope.list.push(data); 



       }); 
       response.error(function(data, status, headers, config) { 
        alert("Exception details: " + JSON.stringify({data: data})); 

       }); 

       //Empty list data after process 
       $scope.list = []; 

      }; 
     }]); 
</script> 

Repository Klasse

@Entity 
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"}) 
@Table(name="abc") 
public class abc implements Serializable { 

    private java.sql.Date date_insp; 
    private String bedrooms; 
    private String balcony; 
    private String kitchen; 
    private String bath_toilet; 
    private String parking_gar; 
    private String garden; 
    private String others; 
     private String title; 
private byte[]photo; 
+0

Problem mit Ihrem request.It verwandt scheint, Sie sind nicht in der richtigen Anfrage json format.Check die Abhängigkeiten wie Jackson in Classpath oder nicht sendet. – Vaibs

+0

Hallo Vaibs, danke für deine ans .. Ich habe Abhängigkeit in pm.xml Datei hinzugefügt. Bitte lassen Sie mich wissen, wenn ich eine falsche Abhängigkeit hinzugefügt haben ... Die Abhängigkeit I hinzugefügt ist: \t \t com.fasterxml.jackson.core \t \t jackson-databind \t \t 2.4.1 \t \t Pra

+0

scheint es korrekt.Check now – Vaibs

Antwort

0

Gemäß oben erläutert in den Kommentaren se ction, obj besteht aus allen übergebenen und an den Controller übergebenen Formularparametern.

JSP HTML-Tag:

<input type="text" ng-model="obj.balcony" /> 
<input type"text" ng-model="obj.address" /> 

Und in der Steuerung, versuchen, den Wert Objekt Debuggen-Benachrichtigung und das Objekt in String verwenden 'JSON.stringify (obj)' zu konvertieren.

-Controller JS:

$scope.submit = function() { 
       var formData = $scope.obj; 
       alert(JSON.stringify($scope.obj)); 
       var response = $http.post('/PM/insp_rep/{id}', JSON.Stringify(obj)); 
       response.success(function(data, status, headers, config) { 
        $scope.list.push(data); 
       }); 
       response.error(function(data, status, headers, config) { 
        alert("Exception details: " + JSON.stringify({data: data})); 
       }); 

       //Empty list data after process 
       $scope.list = []; 
      }; 
     }]); 
</script> 
+0

Hallo, danke fürs Antworten. Ich habe den Code, den Sie oben eingefügt haben, ausprobiert, ich bekomme immer noch den gleichen Fehler. – Pra

+0

Können Sie bitte einen Schnappschuss der Post-Anfrage von der Konsole des Browsers mit den richtigen Anfrage-Parameter hinzufügen. Im Browser mit der Entwicklerkonsole prüfen (Drücken Sie im Browser F12). Ich habe die Antwort bearbeitet. Übergeben Sie JSON.stringify (obj) in der Postanforderung, und buchen Sie den Fehler hier mit snapshot. – Vaibs

Verwandte Themen