为了账号安全,请及时绑定邮箱和手机立即绑定

启动时决定的 URL 的 RequestMapping

启动时决定的 URL 的 RequestMapping

qq_笑_17 2021-11-17 17:36:35
我有一个案例,或者我想要一个特定的控制器来处理由另一个类中的字段决定的请求模式,它类似于来自资源属性的模式,但不是使用 ${propertyName} 而是方法的返回类型:@Controllerpublic class SomeController {    private final urlDecider;    @RequestMapping(urlDecider.getPatterns())    public String handle(HttpServletREquest request) {}}HandlerAdapter 似乎与我想要的类似,但问题是支持方法参数只有处理程序作为参数,而不是 url。
查看完整描述

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

我有一个案例,或者我想要一个特定的控制器来处理由另一个类中的字段决定的请求模式,它类似于来自资源属性的模式,但不是使用 ${propertyName} 而是方法的返回类型:


@Controller

public class SomeController {

    private final urlDecider;


    @RequestMapping(urlDecider.getPatterns())

    public String handle(HttpServletREquest request) {}

}

HandlerAdapter 似乎与我想要的类似,但问题是支持方法参数只有处理程序作为参数,而不是 url。


查看完整回答
反对 回复 2021-11-17
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

SpEL 可用于做到这一点。以下是在 Spring Boot 2 / Spring 5.0.9 上测试的。此示例调用同一 bean 上的方法以获取端点名称,但您可以将 SpEL 表达式中的 bean 和方法名称替换为适合您的应用程序的任何名称。


@Slf4j

@RestController("testBean")

public class TestBean {


  public String endpoint() {

    return "/test";

  }


  @RequestMapping("#{testBean.endpoint()}")

  public void doit() {

    log.info("Hello World");

  }

}


查看完整回答
反对 回复 2021-11-17
  • 2 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信