apache / apache/servicecomb-java-chassis

servicecomb not support patchForObject

Đang mở
#2,649 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Java
Star
1.9k
Fork
814
Merge trung bình
8 ngày 23 giờ
Pull request đã merge (30 ngày)
1

Mô tả

### 使用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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu với org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest, đặc biệt là phương thức getBody(), và tái hiện lệnh gọi RestTemplateBuilder.create() theo sau bởi patchForObject(). Theo dõi cách yêu cầu PATCH lấy được output stream của body. Hoàn tất khi yêu cầu PATCH ví dụ thành công mà không gặp lỗi Null OutputStream hoặc JsonGenerationException.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java, spring
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.