[英]Spring MVC Abstract Controller PathVariable
我有一個抽象控制器,並且在某些操作中包含路徑變量:
@Controller
@RequestMapping("/generic-status/v1")
public abstract class GenericStatusController{
@RequestMapping(value = "/connection/availability/{connectionName}", method = { RequestMethod.GET })
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public abstract ConnectionResult checkConnection( @PathVariable("connectionName") String connectionName ) throws ConnectionException, ParameterInvalidException, StatusApiException;
當我擴展並使用它時,所有請求映射均正常工作。 但不幸的是,路徑變量始終為null。
你能幫我這個忙嗎?
提前致謝
正如M.Deinum指出的那樣:從擴展此抽象控制器后得出的IVE中,您將得到以下內容:
@Override
ConnectionResult checkConnection(String connectionName) throws ConnectionException, ParameterInvalidException, StatusApiException; {
// logic
}
這意味着您將使用的控制器實例實際上沒有@PathVariable映射,該映射描述並告訴Spring應該將其作為方法的參數提供。 解決方案:在擴展控制器中也添加@PathVariable:
@Override
ConnectionResult checkConnection(@PathVariable("connectionName") String connectionName) throws ConnectionException, ParameterInvalidException, StatusApiException; {
// logic
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.