我的控制器java文件中定义了以下getTrans
方法。因为它是GET请求,所以我可以看到结果(使用SOAP UI客户端)
关注http://localhost:8080/itl/fin/trans?bId=ABC2
的API调用bId = ABC2
。
我正在尝试测试sortBy
无法正常工作的事情,为此我尝试测试网址如下:
http://localhost:8080/itl/fin/trans?bId=ABC2&sortBy=DESC
我的问题:
1)如果上述api通话看起来正确,请告诉我?因为当我在SOAP UI上运行上面的URI时,我没有看到任何变化 与我首先测试的URI相比,JSON响应。
2)由于排序不起作用,下面的代码中是否有任何错误进行排序?
@RequestMapping(value = "/itl/fin/trans", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<SetRESTData<FinTransactionDTO>> getTrans(
@RequestParam(value = "bId", required = true) final String bId,
@RequestParam(value = "status", required = false) final String statusString,
@RequestParam(value = "transactionMethod", required = false) final String transMethodString,
@RequestParam(value = "sortBy", required = false) final String orderBy,
@RequestParam(value = "sortDirection", required = false) final String sortDirectionString) {
final FinTransStatus status = StringUtils.isBlank(statusString) ? null : FinTransStatus.fromCode(statusString);
final FinTransMethod method =
StringUtils.isBlank(transMethodString) ? null : FinTransMethod.fromCode(transMethodString);
final FinTransPaginationData paginationData = StringUtils.isBlank(orderBy) ?
null : new FinTransPaginationData(FinTransSortableField.fromCode(orderBy), null, null, sortDirectionString);
final ServiceResultDetails<Set<FinTransDTO>> resultsDetails =
finTransService.getTransactionsForEmployeeUse(bId,status, method, paginationData);
final ResponseCode errorCode = resultsDetails.getErrorCode();
if (errorCode != null) {
return buildNoCacheNoCorsEmptySetRESTDataWithMessage(errorCode, resultsDetails.getErrorMessage());
} else {
return buildNoCacheSetRESTDataResponse(
resultsDetails.getEntity(), ResponseCode.FIN_TRANS_RETRIEVED, ResponseCode.FIN_TRANS_NOT_FOUND, false);
}
}
答案 0 :(得分:0)
我在你的代码中注意到了这一点:
final FinTransPaginationData paginationData = StringUtils.isBlank(orderBy) ?
null :
new FinTransPaginationData(FinTransSortableField.fromCode(orderBy), null, null, sortDirectionString);
如果sortDirectionString
为空,则不会发生排序..只有您知道,因为我们没有任何代码。
答案 1 :(得分:0)
只是一个Controller方法,我们无法确定是否正确,
final FinTransPaginationData paginationData = StringUtils.isBlank(orderBy) ?
null : new FinTransPaginationData(FinTransSortableField.fromCode(orderBy), null, null, sortDirectionString);
我们不知道这条线是不对,可能是你的排序方法有误?
你需要设置一个断点并一步一步地观察变量值是否符合预期?