REST API を使用して Spring MVC アプリケーションを開発しています。
私はコントローラにこのメソッドを持っています:
@RequestMapping(value="/roomId/{roomId}",produces = "application/json")
public List<DayStatisticDto> findBySiteAndRoom(@PathVariable("roomId") String roomId, @RequestParam("timestamp") String timestamp, @RequestParam("pageSize") Integer pageSize) throws ParseException {
List<DayStatisticDto> dayStatisticDtos = dayStatisticService.latestDailyStatisticsForRoom(getCurrentUserSiteCode(), roomId, pageSize, timestamp, false);
return dayStatisticDtos;
}
この get リクエストを行うと、次のようになります。
このリクエスト パラメータを使用すると、次のようになります。
- 受け入れる:アプリケーション/json
- Accept-Encoding:gzip、deflate、sdch、br
- Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
- キャッシュ制御:キャッシュなし
- Cookie:_ga=GA1.1.486025197.1475764350;JSESSIONID=6716A5824088BC0F46A6B74D5FB25A3E
- ホスト: ローカルホスト:8080
- ユーザーエージェント:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (Gecko のような KHTML) Chrome/54.0.2840.71 Safari/537.36
応答として正しい JSON オブジェクトを取得します。
しかし、パラメータ「roomId」を I1.A.122 から I1.A.123 に変更すると:
このリクエスト パラメータを使用すると、次のようになります。
- 受け入れる:アプリケーション/json
- Accept-Encoding:gzip、deflate、sdch、br
- Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
- キャッシュ制御:キャッシュなし
- Cookie:_ga=GA1.1.486025197.1475764350; JSESSIONID=6716A5824088BC0F46A6B74D5FB25A3E
- ホスト: ローカルホスト:8080
- ユーザーエージェント:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (Gecko のような KHTML) Chrome/54.0.2840.71 Safari/537.36
エラー コード406 が表示されます - 受け入れられません
私はこの種のリクエストをプロジェクトのいたるところで使用していますが、この種の問題は一度もありませんでした. パラメータ「roomId」は通常の整数値のままです。Spring Mvc で問題を発生させるにはどうすればよいですか? ヘッダーと実行中のコードはまったく同じです。
「findBySiteAndRoom」メソッドの最初の行にブレークポイントを置くと、最初のケースではポイントに到達します。しかし、2 番目のケースでは、ブレーク ポイントに到達する前に 406 エラー コードが返されます。
よろしくお願いいたします。