我可以重用url路径映射很容易在springboot设置?



在这段代码中,我有三个带有getMapping注释的方法。实际上,我有更多的方法。
它们是重复的。我想把这些url注册为一个设置。
有好的方法吗?那就告诉我。

package refill.station.controller.user;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@RestController
@RequiredArgsConstructor
@RequestMapping("/user")
public class MemberController {
@GetMapping("id")
public ModelAndView id(ModelAndView mav) {
mav.setViewName("user/id");
return mav;
}
@GetMapping("pw")
public ModelAndView pw(ModelAndView mav) {
mav.setViewName("user/pw");
return mav;
}
@GetMapping("signUp")
public ModelAndView signUp(ModelAndView mav) {
mav.setViewName("user/signUp");
return mav;
}
}

这些都是注释,所以不能使用局部变量。但是,您可以使用常量,如

public static final String ID_PATH = "id"
public static final String PW_PATH = "pw"
public static final String SIGN_UP_PATH = "signUp"
@GetMapping(ID_PATH)
public ModelAndView id(ModelAndView mav) {
mav.setViewName("user/"+ID_PATH);
return mav;
}

您也可以使用属性占位符,例如,当foo.bar在application.properties中定义时:

@GetMapping("${foo.bar}")

一般来说,你应该考虑这是否真的有必要?你在很多地方都使用这些路径吗?如果没有,最好不要把它弄得太复杂。