2016-04-13 3 views
0

私は10または20と同様の問題を発見したと私は答えの多くを試みたが、それらのどれも私のために働くように思わない...ここで角度+春415 Unsuportedメディアタイプ

は、角度サービスコードです:

app.factory('service',['$http','$q', function($http,$q){ 
return { 
    get: function(m){ 
     return $http.post('path/getJSON',m).then(
       function(r){ 
        console.log(r.data); 
        return r.data; 
       } 
     ); 
    }, 

    getY: function(m){ 
     return $http({ 
       method : 'POST', 
       url : 'path/getJSON', 
       headers: {'Content-Type': 'application/json'}, 
       data : JSON.stringify(m) 

     }).then(
       function(r){ 
        console.log(r.data); 
        return r.data; 
       } 
     ); 
    }, 

    getZ: function(m){ 
     return $http.post('path/getJSON',JSON.stringify(m)).then(
       function(r){ 
        console.log(r.data); 
        return r.data; 
       } 
     ); 
    } 

}; 
}]); 

私はコントローラに、これら3つの方法のいずれかを呼び出すことを試みたが、結果は同じである:415私もと試み、これら

データ(M)のいずれかにJSON.stringify()機能なしこのように構築されます:

ここ
m = {param : value, param2 : value2 etc} 

は、このPOSTを処理するJavaでのコントローラのメソッドです:

@RequestMapping(value="/getJSON", consumes = {"application/json;charset=UTF-8"}, 
     method=RequestMethod.POST) 
@ResponseStatus(value=HttpStatus.OK) 
public ResponseEntity<List<SmtElse>>getFlights(@RequestBody CustomJSONObj jsonObj){ 
    HttpHeaders h= new HttpHeaders(); 
    h.add("Access-Control-Allow-Origin", "*"); 
    List<SmtElse> list= new ArrayList<SmtElse>(); 

    System.out.println(jsonObj); 
    return new ResponseEntity<List<SmtElse>>(list,h, HttpStatus.OK); 
} 

CustomJSONObjは専用文字列の属性、ゲッター、セッターとコンストラクタを持っています。 @RequestMappingや他の形式でいくつかの属性を追加しようとしました。

申し訳ありません複製可能です。私は大きなチャンスがあることを知っていますが、私の問題に対する答えは見つかりませんでした。

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-core</artifactId> 
    <version>2.4.4</version> 
</dependency> 
<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.4.4</version> 
</dependency> 
+0

を参照してください、あなたのリクエストは「受け入れる」 '送信した場合、あなたは確認することができます:「アプリケーション/ json''だけでなく、コンテンツタイプを? – Jorg

+0

私はそれをサービス中の第2の方法に加えました。まだ動かない。私はSpring Controllerから@RequestBodyを削除しようとしましたが動作しますが、データを取得できません – dskfdskjgds

+0

私はHttpServletRequest getContentType()メソッドを使用し、結果はnullです。 getHeader( "Accept")の結果はapplication/json – dskfdskjgds

答えて

関連する問題