AngularJS 1.4 と Spring 4 RestController を使用しています。開発マシンで GET リクエストを行うと、すべて正常に動作します。しかし、まったく同じ war ファイルをテスト サーバーにデプロイすると、まったく同じブラウザーからのまったく同じ要求が HTTP 406 Not Acceptable を返します。
2 つの環境の唯一の違いは、開発マシンでは埋め込み Tomcat 8 を使用しているのに対し、テスト サーバー アプリでは Tomcat 7 にデプロイされていることです。
私のリクエストは、電子メール アドレスを含む単一のパス変数で構成されています。
リクエストを行う angularjs コード:
utilService.emailD = function(email) {
return $http({
method : 'GET',
url : 'util/emailD/' + encodeURIComponent(email)
}).then(
function successCallback(response) {
return response.data;
},
function errorCallback(response) {
return {
error : true
};
});
}
リクエストを受け付けるスプリングコントローラー
@RequestMapping(value = "/emailD/{email:.+}",
method = RequestMethod.GET,
produces = MediaType.TEXT_PLAIN_VALUE)
public ResponseEntity<String> emailD(@Email @Valid @PathVariable(value = "email") String email) {
try {
log.debug("request emailD, email: {}", email);
//omitted irrelevant code
return new ResponseEntity<String>(someString, HttpStatus.OK);
} catch (IllegalArgumentException iae) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}
}
そのような動作を引き起こす可能性があると考えられる理由はありますか?