簡體   English   中英

Spring MVC抽象控制器PathVariable

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM