我使用Spring Boot 1.2.5和Spring Data Releastrain Fowler-SR2正常运行。当升级到Spring Data Releastetrain Gosling时,我的API中断了,我无法找出原因。
如果我在Repository
界面上有以下内容:
public Page<Person> findByPerson(@Param("person")Person person, Pageable pagable)
我用端点调用端点:
/服务/人/搜索/ findByPerson?人= 100
SDR会将id的100正确转换为Person对象(使用数字作为PK id)并返回该对象。如果我将其称为:
,它也会起作用/service/people/search/findByPerson?person=/service/people/100
升级到Gosling发布系列时,这一切都会中断。现在只有第二个版本可以工作,并且任何使用数字ID进行调用的尝试都会失败并返回org.springframework.data.repository.support.QueryMethodParameterConversionException
个异常。
我找不到Gosling发布信息中对此更改的任何引用,但我确信这些更改与从Fowler到Gosling有关。
任何人都知道为什么会这样,以及如何恢复功能。此API在很多地方使用,并且必须更新所有客户端是一项艰巨的任务。我想利用Gosling releastrain中的安全修复程序和其他改进,而不是卡在Fowler上,但如果我无法恢复此功能,我不能这样做,至少在一段时间内不允许其他客户更新其调用方法
答案 0 :(得分:0)
是的,我得到了一个答案,而且它是#34;旧的行为是一个错误,现在在Gosling发生的事情是它应该如何运作。您必须更改您的应用以符合行为&#34;。
因此,我必须对我们的应用和客户做出相当大的改变才能解决这个问题。