Maison >Java >javaDidacticiel >Quand utiliser ResponseEntity ?

Quand utiliser ResponseEntity ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-10 08:44:41723parcourir

Quando usar ResponseEntity?

Regardons le contrôleur avec le point de terminaison ci-dessous :

@RestController
@RequestMapping("v1/hello")
public class ExampleController {

    @GetMapping
    public ResponseEntity<String> get() {
        return ResponseEntity.ok("Hello World!");
    }
}

Lors de l'utilisation de l'annotation @RestController de Spring, par défaut les réponses sont placées dans le corps des réponses, il est inutile d'utiliser ResponseEntity en tapant le retour de la méthode, juste le type de réponse directement, comme dans l'exemple ci-dessous :

@RestController
@RequestMapping("v1/hello")
public class ExampleController {

    @GetMapping
    public String get() {
        return "Hello World!";
    }
}

De plus, par défaut, en cas de succès, le code de statut utilisé dans les endpoints est 200 (OK), c'est-à-dire qu'il n'est nécessaire de le changer que lorsque vous souhaitez utiliser un autre statut, et pas ResponseEntity doit être utilisé, utilisez simplement l'annotation @ResponseStatus méthode ci-dessus :

@RestController
@RequestMapping("v1/hello")
public class ExampleController {

    @GetMapping
    @ResponseStatus(HttpStatus.ACCEPTED)
    public String get() {
        return "Hello World!";
    }
}

Alors pourquoi ResponseEntity existe-t-il ?

Dans les cas où vous devez ajouter plus d'informations à la réponse que le corps et le statut, comme l'ajout d'un en-tête à la réponse :

@RestController
@RequestMapping("v1/hello")
public class ExampleController {

    @GetMapping
    public ResponseEntity<String> get() {
        return ResponseEntity.ok()
            .header("X-Test", "Blabla")
            .body("Hello World!");
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn