Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 38/100
Piste de recherche
Commencez par UnmarshalRespUtil.unmarshalResp, appelé depuis ApprovalService$ExternalInstance.create pour /open-apis/approval/v4/external_instances. Suivez la manière dont le corps de la réponse HTTP est traité lorsque Gson lève JsonSyntaxException, puis vérifiez que les échecs préservent ou consignent le contenu de la réponse reçue au lieu d’exposer uniquement l’erreur de désérialisation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
背景
需要将自研系统中的审批流数据同步到飞书审批中心。
资料
使用的SDK:com.larksuite.oapi:oapi-sdk:2.0.20
报错
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)
at com.google.gson.Gson.fromJson(Gson.java:922)
at com.google.gson.Gson.fromJson(Gson.java:887)
at com.google.gson.Gson.fromJson(Gson.java:836)
at com.google.gson.Gson.fromJson(Gson.java:808)
at com.lark.oapi.core.utils.UnmarshalRespUtil.unmarshalResp(UnmarshalRespUtil.java:22)
at com.lark.oapi.service.approval.v4.ApprovalService$ExternalInstance.create(ApprovalService.java:587)
期望
先看代码
// 反序列化
CreateExternalInstanceResp resp = UnmarshalRespUtil.unmarshalResp(httpResponse, CreateExternalInstanceResp.class);
if (resp == null) {
log.error(String.format(
"%s,callError,req=%s,respHeader=%s,respStatusCode=%s,respBody=%s,", "/open-apis/approval/v4/external_instances"
, Jsons.DEFAULT.toJson(req), Jsons.DEFAULT.toJson(httpResponse.getHeaders()),
httpResponse.getStatusCode(), new String(httpResponse.getBody(),
StandardCharsets.UTF_8)));
throw new IllegalArgumentException("The result returned by the server is illegal");
}
UnmarshalRespUtil.unmarshalResp方法在执行时并没有做异常处理,导致CreateExternalInstanceResp resp = UnmarshalRespUtil.unmarshalResp(httpResponse, CreateExternalInstanceResp.class);执行时,直接抛出异常,不会继续向下执行,并打印出返回结果日志。
希望完善这个BUG,抛出异常可以,但应该要输出返回结果是什么,而不是JSON序列化的错误。
- Langage dominant
- Java
- Étoiles
- 314
- Forks
- 116
- Merge moyen
- 33 min
- PR mergées (30 j)
- 4
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de larksuite/oapi-sdk-java
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
larksuite/oapi-sdk-java#197 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
larksuite/oapi-sdk-java#196 ·
-
sdk提供的新增、更新人才接口代码和飞书招聘的接口不一致,导致接口调用失败,返回报错是类型转换失败Peut-être pris @CharLilis l’a pris il y a 102 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
larksuite/oapi-sdk-java#191 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
larksuite/oapi-sdk-java#149 ·
-
接口响应类型错误Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
larksuite/oapi-sdk-java#79 ·
Toutes les issues de larksuite/oapi-sdk-java
Issues similaires
-
Type: Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
MCP add-on: JSON responses with non-ASCII characters are truncated (wrong Content-Length)Peut-être pris @dhanushbs10 l’a pris aujourd’hui. Ouverteadd-on bug in:mcp
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
vaadin-map
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
vaadin/flow-components#10586 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
wpilibsuite/SystemcoreTesting#446 ·
Les mainteneurs répondent en général sous 1 jour
-
frontend quality-assurance
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#212 ·
Les mainteneurs répondent en général sous 1 jour