私は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>
を参照してください、あなたのリクエストは「受け入れる」 '送信した場合、あなたは確認することができます:「アプリケーション/ json''だけでなく、コンテンツタイプを? – Jorg
私はそれをサービス中の第2の方法に加えました。まだ動かない。私はSpring Controllerから@RequestBodyを削除しようとしましたが動作しますが、データを取得できません – dskfdskjgds
私はHttpServletRequest getContentType()メソッドを使用し、結果はnullです。 getHeader( "Accept")の結果はapplication/json – dskfdskjgds