Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengendalikan Ralat HTTP 400 dalam Kaedah Spring MVC @ResponseBody dengan Jenis Pulangan Rentetan?

Patricia Arquette
Lepaskan: 2024-10-28 02:30:01
asal
275 orang telah melayarinya

How to Handle HTTP 400 Errors in Spring MVC @ResponseBody Methods with String Return Type?

Pengendalian Ralat HTTP 400 dalam Kaedah @ResponseBody Spring MVC dengan Jenis Pulangan Rentetan

Apabila melaksanakan API menggunakan Spring MVC, adalah penting untuk mengendalikan kesilapan dengan anggun. Satu kod ralat biasa untuk dibalas ialah HTTP 400, yang menunjukkan "permintaan buruk."

Dalam senario yang anda berikan, di mana kaedah padanan mengembalikan String yang dibalut dengan @ResponseBody, anda mungkin tertanya-tanya bagaimana untuk bertindak balas dengan HTTP 400 kod ralat. Pendekatan tradisional menggunakan ResponseEntity tidak terpakai secara langsung di sini, kerana jenis pemulangan kaedah anda ialah String.

Untuk menyelesaikan masalah ini, pertimbangkan untuk menukar jenis pemulangan kaedah padanan anda kepada ResponseEntity. Ini akan memberi anda fleksibiliti untuk mengendalikan kod status HTTP dengan lebih jelas.

Kaedah Kemas Kini:

<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

Pendekatan yang diubah suai ini membolehkan anda mengembalikan ResponseEntity dengan kod status HTTP yang sesuai. Jika matchId tidak sah, anda boleh mengembalikan ResponseEntity dengan status HTTP 400. Untuk permintaan yang sah, anda boleh mengembalikan ResponseEntity dengan status HTTP 200 dan respons JSON.

Spring 4.1 dan Ke Atas:

Bermula dengan Spring 4.1, kelas ResponseEntity menyediakan kaedah pembantu yang boleh anda gunakan untuk pendekatan yang lebih ringkas:

Kaedah Kemas Kini (Musim Bunga 4.1 ):

<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 ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
    }
    return ResponseEntity.ok(json);
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat HTTP 400 dalam Kaedah Spring MVC @ResponseBody dengan Jenis Pulangan Rentetan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!