2 回答

TA貢獻1799條經(jīng)驗 獲得超8個贊
我有一個案例,或者我想要一個特定的控制器來處理由另一個類中的字段決定的請求模式,它類似于來自資源屬性的模式,但不是使用 ${propertyName} 而是方法的返回類型:
@Controller
public class SomeController {
private final urlDecider;
@RequestMapping(urlDecider.getPatterns())
public String handle(HttpServletREquest request) {}
}
HandlerAdapter 似乎與我想要的類似,但問題是支持方法參數(shù)只有處理程序作為參數(shù),而不是 url。

TA貢獻1898條經(jīng)驗 獲得超8個贊
SpEL 可用于做到這一點。以下是在 Spring Boot 2 / Spring 5.0.9 上測試的。此示例調(diào)用同一 bean 上的方法以獲取端點名稱,但您可以將 SpEL 表達式中的 bean 和方法名稱替換為適合您的應(yīng)用程序的任何名稱。
@Slf4j
@RestController("testBean")
public class TestBean {
public String endpoint() {
return "/test";
}
@RequestMapping("#{testBean.endpoint()}")
public void doit() {
log.info("Hello World");
}
}
添加回答
舉報