0
votes

Spring - Springboot Controller Obtenir des demandes avec Paramètres par défaut

J'ai un contrôleur Springboot avec deux points d'extrémité d'obtention: xxx

Le comportement que je veux est-ce appelé:

  • / foo appelle le premier point final avec un optionnel x param.
  • / foo? x = 123 appelle le premier point final avec un x param.
  • / foo? x = 123 & y = 456 'appelle le second point d'extrémité avec les paramètres x et y`.

    Actuellement, je reçois une erreur: xxx

    Toutes idées Comment déterminer un point final par défaut lorsque des params de zéro sont spécifiés?


0 commentaires

3 Réponses :


1
votes

Vous pouvez spécifier un defaultValue sous forme de chaîne dans @Requestparam : xxx

printemps convertira chaîne à n'importe quel type que vous voulez vraiment ( int dans votre cas) en utilisant la même méthode que si vous avez spécifié x comme paramètre (même coercition , erreurs, etc.).


0 commentaires

1
votes

Définir un parames dans @RequestMapping ou ses variantes ( @getMappe , @postMapping etc)


0 commentaires

0
votes

Si vous voulez plus d'une mappage sur la même URL (beaucoup de fois, c'est une codesMell, mais il est parfois nécessaire, vous pouvez faire des paramètres de filtre dans @getMapping code> ou ou @RequestMapping code> Annotations 'Params Element.

@RestController
@RequestMapping("/foo")
class MyController {

    @GetMapping(params = ["!y"])
    fun getFoo(
        @RequestParam("x", required = false) x: Int?
    ) = ...

    @GetMapping(params = ["x", "y"])
    fun getFoo(
        @RequestParam("x", required = true) x: Int,
        @RequestParam("y", required = true) y: Int
    ) = ...

}


0 commentaires