The Api response not match with sdk response.
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện hành vi của GraphServiceClient.me().buildRequest().get() với microsoft-graph 6.19.0, so sánh phản hồi trực tiếp từ Microsoft Graph với đối tượng User đã được deserialize và dạng được serialize lại của đối tượng đó. Sau đó, kiểm tra model do Kiota tạo ra và hành vi của BackingStore để xác định liệu các thuộc tính null rõ ràng có thể được phân biệt với các thuộc tính không tồn tại hay không. Công việc được coi là hoàn tất khi cấu hình hiện có được ghi lại hoặc xác nhận rằng SDK không bảo toàn sự phân biệt này.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Issue: Null Values Not Being Deserialized for Microsoft Graph API Responses via Java SDK
Description:
I am encountering an unexpected behavior when using the Microsoft Graph Java SDK to retrieve user data. Specifically, properties with null values in the API response are not being included in the deserialized object when using the SDK, while they are present when making a direct API call.
Detailed Scenario:
-
Direct API Call (e.g., Postman):
When I make a direct GET request to the Microsoft Graph API (e.g.,https://graph.microsoft.com/v1.0/me) using a tool like Postman, the JSON response includes all properties, even those withnullvalues. For example, a response might contain:{ "displayName": "John Doe", "jobTitle": null, "mobilePhone": "123-456-7890", "officeLocation": null, // ... other properties }In this example,
jobTitleandofficeLocationare explicitly present withnullvalues. -
Using Microsoft Graph Java SDK:
I am using themicrosoft-graphSDK (version 6.19.0) and have initialized aGraphServiceClient. When I perform a similar operation to retrieve user data (e.g.,graphServiceClient.me().buildRequest().get()), and then attempt to access the deserializedUserobject, properties that hadnullvalues in the raw API response are seemingly filtered out or omitted during the deserialization process.After retrieving the
Userobject and attempting to access its members, or after performing serialization of this SDK-generated object (especially when dealing with the Kiota-generated models and potentially abstracting theBackingStorelayer), only the keys with non-null values are present. The properties that werenullin the original API response are entirely absent from the deserializedUserobject's fields or when re-serializing the object.
Expected Behavior:
I expect the Microsoft Graph Java SDK's deserialization process to faithfully represent the entire API response, including properties that have null values. These null properties should be present in the deserialized User object, allowing me to differentiate between a property that is genuinely absent from the response and one that is explicitly present but with a null value.
Question/Request:
Is there any configuration or setting available within the Microsoft Graph Java SDK (or the underlying Kiota libraries) that allows for the deserialization of properties with null values, ensuring they are retained in the resulting Java objects? My goal is to prevent the implicit filtering of these null-valued keys.
SDK Version: :
microsoft-graphversion: [6.19.0]- Java Version: [24.0.1]
- Ngôn ngữ chính
- Java
- Star
- 444
- Fork
- 154
- Merge trung bình
- 18 giờ 28 phút
- Pull request đã merge (30 ngày)
- 4
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoftgraph/msgraph-sdk-java
-
status:waiting-for-triage type:bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
microsoftgraph/msgraph-sdk-java#2610 ·
-
status:waiting-for-triage type:bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
microsoftgraph/msgraph-sdk-java#2656 ·
-
status:waiting-for-triage type:bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
microsoftgraph/msgraph-sdk-java#2654 ·
-
status:waiting-for-triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
microsoftgraph/msgraph-sdk-java#2639 ·
-
Error in PATCH onlineMeeting Đang mởstatus:waiting-for-triage type:bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
microsoftgraph/msgraph-sdk-java#2589 · 1 bình luận ·
Tất cả issue của microsoftgraph/msgraph-sdk-java
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
elastic/gradle-plugins#157 ·
-
enhancement Tools
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
apache/rocketmq-dashboard#5008 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
DETECT_PARAMETER_NAMES=false silently disables @ConstructorProperties-based Creator detection too Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
FasterXML/jackson-databind#6229 ·