Cara Mengendalikan Ralat HTTP dalam Spring MVC @ResponseBody Methods
Apabila menggunakan Spring MVC @ResponseBody untuk mengembalikan JSON dalam API RESTful, ia adalah penting untuk mengendalikan ralat HTTP dengan anggun. Satu kod ralat biasa ialah 400 (Permintaan Buruk). Kod ralat ini menunjukkan bahawa permintaan itu tidak sah kerana parameter yang hilang atau salah.
Dalam senario yang diberikan, di mana jenis pemulangan kaedah ialah String, seseorang boleh menukar tandatangan kaedah untuk mengembalikan ResponseEntity<> sebaliknya. ResponseEntity<> membolehkan anda menentukan kedua-dua badan respons dan kod status HTTP.
Untuk membalas dengan ralat HTTP 400, anda boleh mengembalikan ResponseEntity dengan isi nol dan kod status HTTP yang sesuai. Berikut ialah contoh:
<code class="java">@RequestMapping(value = "/matches/{matchId}", produces = "application/json") @ResponseBody public ResponseEntity<String> match(@PathVariable String matchId) { String json = matchService.getMatchJson(matchId); if (json == null) { return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } return new ResponseEntity<>(json, HttpStatus.OK); }</code>
Sebagai alternatif, Spring 4.1 memperkenalkan kaedah pembantu dalam ResponseEntity yang memudahkan lagi proses ini. Anda kini boleh menggunakan:
<code class="java">return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);</code>
atau untuk permintaan yang berjaya:
<code class="java">return ResponseEntity.ok(json);</code>
Dengan mengendalikan ralat HTTP dengan sewajarnya, anda memastikan pengalaman yang konsisten dan mesra pengguna dalam API RESTful anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Kod Ralat HTTP dengan @ResponseBody dalam Spring MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!