apache / apache/servicecomb-java-chassis
servicecomb not support patchForObject
- 主要语言
- Java
- 星标
- 1.9k
- 派生
- 814
- 平均合并
- 8 天 23 小时
- 30 天内合并 PR
- 1
描述
### 使用RestTemplateBuilder.create()创建出来的restTemplate无法通过patchForObject发送patch请求
请求示例
```
restTemplate.patchForObject("cse://test-provider2/provider/tomcat/patch", httpEntity, Map.class);
```
异常如下
```
2021-12-02 10:08:18.361 ERROR 1008 --- [oup0-1-thread-1] o.a.s.c.h.impl.ProducerOperationHandler : unexpected error operation=PRODUCER rest test-consumer2.helloConsumer.sayHello, message=null, cause=I/O error on PATCH request for "cse://test-provider2/provider/tomcat/patch": Null OutputStream is not a valid argument; nested exception is com.fasterxml.jackson.core.JsonGenerationException: Null OutputStream is not a valid argument
```
### 报错原因
org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest 类的public OutputStream getBody() 这个方法return为null
贡献指南
这个仓库没有索引到贡献指南
调研方向
从 org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest 开始,特别是其 getBody() 方法,并重现 RestTemplateBuilder.create() 调用,随后调用 patchForObject()。跟踪 PATCH 请求如何获取其 body 输出流。当示例 PATCH 请求在没有 Null OutputStream 或 JsonGenerationException 错误的情况下成功时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, spring
- 领域
- backend
- Issue 类型
- 缺陷
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 活跃度
- 停滞
- 描述清晰度
- 描述清楚
- 新手友好度
- 48/100