Rumah > Java > javaTutorial > Bagaimana untuk Mengembalikan Kod Ralat HTTP dengan @ResponseBody dalam Spring MVC?

Bagaimana untuk Mengembalikan Kod Ralat HTTP dengan @ResponseBody dalam Spring MVC?

DDD
Lepaskan: 2024-11-03 05:59:03
asal
319 orang telah melayarinya

How to Return HTTP Error Codes with @ResponseBody in Spring MVC?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

atau untuk permintaan yang berjaya:

<code class="java">return ResponseEntity.ok(json);</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan