为啥 RestTemplate 中没有类似 postForEntity 的 patchForEntity 方法?
Posted
技术标签:
【中文标题】为啥 RestTemplate 中没有类似 postForEntity 的 patchForEntity 方法?【英文标题】:Why there is no patchForEntity method just like postForEntity in RestTemplate?为什么 RestTemplate 中没有类似 postForEntity 的 patchForEntity 方法? 【发布时间】:2019-08-14 20:25:09 【问题描述】:我想知道为什么RestTemplate
类中没有提供patchForEntity
方法,就像postForEntity
和getForEntity
一样。只有patchForObject
方法只返回对象而不是ResponseEntity
。
要获取PATCH
请求的ResponseEntity
,我们必须使用RestTemplate
的exchange
方法,这没问题,但我真的很好奇为什么Spring 家伙没有提供方便的@ 987654331@方法。
有什么线索吗?
【问题讨论】:
【参考方案1】:Spring's GitHub 中已打开类似问题。引用那里给出的答案:
...虽然在技术上可以引入
patchForEntity()
方法,类似于现有的getForEntity()
和postForEntity()
方法,但没有计划在RestTemplate
API 中引入新功能...
因此,为了回答您的问题,似乎没有技术原因未提供此功能,只是这样做的优先级不够高,因为正如您在问题中提到的那样,您可以实现使用exchange
方法获得您想要的效果。无论如何(这对我来说是个新闻),“没有计划在 RestTemplate API 中引入新功能”,因为它会被 WebClient
弃用,所以几率是 RestTemplate
永远不会拥有patchForEntity()
方法。
【讨论】:
以上是关于为啥 RestTemplate 中没有类似 postForEntity 的 patchForEntity 方法?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Spring RestTemplate 在 Spring 中默认不是 Bean?
为啥 RestTemplate 不将响应表示绑定到 PagedResources?
为啥基本身份验证总是使用 restTemplate 给出错误 403?