外文和可分页

j5fpnvbx  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(409)

告诉我如何正确配置feign和spring pageable的工作这里是我的feign设置

feign:
  okhttp:
    enabled: true
  autoconfiguration:
    jackson:
      enabled: true
  client:
    config:
      default:
        connectTimeout: ${FEIGN_DEFAULT_CONNECT_TIMEOUT:10000}
        readTimeout: ${FEIGN_DEFAULT_READ_TIMEOUT:60000}
        loggerLevel: full
        errorDecoder: ru.core.config.TokenErrorDecoder
        retryer: ru.service.SudisTokenService

我的假客户

@FeignClient(name = "BaseCaseFeignClient", url = "${feign.services.host-backend.url}")
public interface BaseCaseFeignClient {
    @GetMapping("/api/cases/base")
    Page<BaseCaseEntityDto> getBaseCases(@SpringQueryMap BaseCaseEntityFilter filter, Pageable pageable);

    @PostMapping("/api/cases/base/search")
    Page<FoundRecordDto> searchCases(@RequestBody FilterSpecification filter, @SpringQueryMap Pageable pageable);
}

获取请求可以正常工作。post请求有问题。我得到以下错误

"No property caseOpenDttm: DESC found for type BaseCaseEntity!"

在这种情况下,这个项目根本就不会组装。

Page<FoundRecordDto> searchCases(@RequestBody FilterSpecification filter, Pageable pageable);

Caused by: java.lang.IllegalStateException: Method has too many Body parameters: public abstract org.springframework.data.domain.Page ru..BaseCaseFeignClient.searchCases(ru.ilter.shared.basecase.search.FilterSpecification,org.springframework.data.domain.Pageable)
Warnings:

原始请求 http://localhost:8081/cpt/api/cases/base/search?page=0&size=10&sort=caseOpenDttm,DESC 而不是这样的要求 http://172.24.14.103:30750/cpt/api/cases/base/search?serialVersionUID=1232825578694716871&size=10&page=0&sort=caseOpenDttm,DESC 假装发送

http://172.24.14.103:30750/cpt/api/cases/base/search?serialVersionUID=1232825578694716871&size=10&sort=caseOpenDttm%3A%20DESC&page=0

http://172.24.14.103:30750/cpt/api/cases/base/search?serialVersionUID=1232825578694716871&size=10&sort=caseOpenDttm: DESC&page=0

我找到了类似的解决办法https://github.com/spring-cloud/spring-cloud-openfeign/issues/146 问题是我已经有了一个@requestbody

相关问题