2016-05-24 189 views
1

這個未使用的方法參數我有重大的問題「刪除此未使用的方法參數‘shiftId’」(和一些類似的問題):刪除春季安全@PreAuthorize

@RequestMapping(value = "/refund/{invoiceId}", method = RequestMethod.GET) 
@PreAuthorize("@AccessPosition.toMeOpen(#shiftId)") 
public PosTransactionRefundInfoDTO getTransactionRefund(@PathVariable("shiftId") Long shiftId, @PathVariable("invoiceId") Long invoiceId) 
{ 
    // ... some code here 
} 

參數shiftId聲明只爲@PreAuthorize註釋,它在方法代碼中沒有用到。 我能以某種方式解決這個問題嗎「以正確的方式」,而不用「不會修復」或「誤報」來標記它?

+0

你可能會開始討論解決此上[Google網上論壇](https://groups.google.com/forum/?pli=1#!forum/sonarqube)。 –

回答

1

首先確保它不是一個邏輯/設計錯誤:爲什麼授權你不使用的東西?這會導致安全漏洞嗎?

爲了擺脫警告,我會建議使用一個簡單的日誌語句方法參數:

logger.debug("ShiftId: {}", shiftId);