apache / apache/servicecomb-java-chassis
servicecomb not support patchForObject
- 主要言語
- Java
- スター
- 1.9k
- フォーク
- 814
- 平均マージ
- 8日 23時間
- マージ済み PR(30日)
- 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