【问题标题】:Feign & PageableFeign & 可分页
【发布时间】:2021-04-06 17:14:01
【问题描述】:

告诉我如何正确配置 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

@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);
}

获取请求工作正常。 发帖请求有问题。 我收到以下错误

"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&amp;size=10&amp;sort=caseOpenDttm,DESC

而不是这样的请求

http://172.24.14.103:30750/cpt/api/cases/base/search?serialVersionUID=1232825578694716871&amp;size=10&amp;page=0&amp;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

【问题讨论】:

    标签: spring spring-boot spring-data feign


    【解决方案1】:

    将 spring-cloud-version 更新到 3.0.2 版帮助

    【讨论】:

      猜你喜欢
      • 2021-03-26
      • 1970-01-01
      • 2020-02-03
      • 2023-03-24
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      相关资源
      最近更新 更多