Spring Boot - GetMapping 到具有不同路径的相同方法的更简单方法

问题描述 投票:0回答:3

目前我的控制器看起来像这样。

@RequestMapping(“成员”)
公共类成员控制器{

    私有 ArrayList memberList = new ArrayList<>();

    @GetMapping("")
    公共字符串索引1(模型模型){
        model.addAttribute(memberList);
        返回“成员/成员索引”;
    }

    @GetMapping(“索引”)
    公共字符串索引2(模型模型){
        model.addAttribute(memberList);
        返回“成员/成员索引”;
    }
}

是否有一种更简单的方法可以为两个不同的路径“localhost:port/members”和“localhost:port/members/index”使用一个索引方法?一般情况下我可以为一种方法注释两个值吗?

提前致谢:)

编辑:我已经看到它适用于@RequestMapping

java spring spring-boot thymeleaf
3个回答
3
投票

您可以按如下方式使用@GetMapping的值:

@GetMapping(value = {"/", "/index"})

0
投票

我自己立即修复了它。

@GetMapping({"", "index"})

没有注意到数组是必要的。


0
投票

使用通用功能,这样如果明天您的某个路径的功能发生变化,您可以轻松地以最小的更改来适应它们。 ` @RequestMapping(“成员”) 公共类 MembersController {

private ArrayList<Member> memberList = new ArrayList<>();
private String doSomething(Model m) {
    model.addAttribute(memberList);
    return "members/memberIndex";
}
@GetMapping("")
public String index1(Model model) {
    return doSomething(model);
}

@GetMapping("index")
public String index2(Model model) {
    return doSomething(model);
}

}`

© www.soinside.com 2019 - 2024. All rights reserved.