我有以下 spring-boot REST 控制器:
@RestController
@AllArgsConstructor
public class AuditRecordArchivalHistoryController {
private final AuditRecordArchivalHistoryService auditRecordArchivalHistoryService;
@RequestMapping(value = "/archives", params = "pageNumber")
public Mono<Slice<AuditRecordArchivalHistory>> findRecordsForAllTenants(
@RequestParam (defaultValue = "0") Integer pageNumber)
return
auditRecordArchivalHistoryService.findAllAuditRecordArchivalHistoryRecords(
getPageable(pageNumber)
);
}
@RequestMapping(value = "/archives", params = {"tenantId, pageNumber"} )
public Mono<Slice<AuditRecordArchivalHistory>> findRecordsForTenant(
@RequestParam String tenantId,
@RequestParam Integer pageNumber) {
return
auditRecordArchivalHistoryService.findAuditRecordArchivalHistoryByTenantId(
tenantId, getPageable(pageNumber)
);
}
我希望如果我訪問 URL
/archives?pageNumber=1
方法: findRecordForAllTenants() 將被呼叫。
而我對訪問 URL 的期望
/archives?tenantId=abc&pageNumber=1
是方法: findRecordsForTenant() 會被呼叫。
但是,在這兩種情況下,都會呼叫 findRecordsForAllTenants() 方法。我錯過了什么嗎?
uj5u.com熱心網友回復:
我認為這個問題是因為params中的引數寫錯了,你可以對比我下面寫的。
@RequestMapping(value = "/archives", params = {"tenantId", "pageNumber"} )
public Mono<Slice<AuditRecordArchivalHistory>> findRecordsForTenant(
@RequestParam String tenantId,
@RequestParam Integer pageNumber) {
return auditRecordArchivalHistoryService.findAuditRecordArchivalHistoryByTenantId(
tenantId, getPageable(pageNumber));
}
uj5u.com熱心網友回復:
你已經放了“tenantId,pageNumber”,它應該是“tenantId”,“pageNumber”。您缺少引號。
uj5u.com熱心網友回復:
桅桿就像:
@RequestMapping(value = "/archives")
public Mono<Slice<AuditRecordArchivalHistory>> findRecordsForAllTenants(
@RequestParam (name="pageNumber", defaultValue = "0") Integer pageNumber)
return
auditRecordArchivalHistoryService.findAllAuditRecordArchivalHistoryRecords(
getPageable(pageNumber)
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/472565.html
