É possível usar várias @RequestMapping
anotações em um método?
Gostar :
@RequestMapping("/")
@RequestMapping("")
@RequestMapping("/welcome")
public String welcomeHandler(){
return "welcome";
}
É possível usar várias @RequestMapping
anotações em um método?
Gostar :
@RequestMapping("/")
@RequestMapping("")
@RequestMapping("/welcome")
public String welcomeHandler(){
return "welcome";
}
Respostas:
@RequestMapping
possui um String[]
parâmetro value, portanto, você deve poder especificar vários valores como este:
@RequestMapping(value={"", "/", "welcome"})
Do meu teste (primavera 3.0.5), @RequestMapping(value={"", "/"})
- só "/"
funciona, ""
não. No entanto, eu descobri que isso funciona: @RequestMapping(value={"/", " * "})
a " * "
partidas nada, por isso vai ser o manipulador padrão em caso nenhum outro.
Não precisa. A anotação RequestMapping suporta caracteres curinga e caminhos no estilo de formiga. Também parece que você quer apenas uma visualização padrão, para poder colocar
<mvc:view-controller path="/" view-name="welcome"/>
no seu arquivo de configuração. Isso encaminhará todas as solicitações para a raiz para a visualização de boas-vindas.
No momento, usando o Spring-Boot 2.0.4 - {} não funcionará.
@RequestMapping
ainda possui String [] como parâmetro de valor, portanto, a declaração se parece com isso:
@RequestMapping(value=["/","/index","/login","/home"], method = RequestMethod.GET)
** Atualização - Funciona com o Spring-Boot 2.2 **
@RequestMapping(value={"/","/index","/login","/home"}, method = RequestMethod.GET)
Também é aceitável o seguinte:
@GetMapping(path = { "/{pathVariable1}/{pathVariable1}/somePath",
"/fixedPath/{some-name}/{some-id}/fixed" },
produces = "application/json")
O mesmo pode ser aplicado @RequestMapping
também