Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

Aperta
#163 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

@15666668904 ci sta già lavorando.

Dal 5/4/2026.

  • #181 di @15666668904 — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
java
Ambito
api

Direzione di ricerca

Inizia da UnmarshalRespUtil.unmarshalResp, chiamato da ApprovalService$ExternalInstance.create per /open-apis/approval/v4/external_instances. Traccia come viene gestito il body della risposta HTTP quando Gson solleva JsonSyntaxException, quindi verifica che gli errori conservino o registrino il contenuto della risposta restituita invece di esporre soltanto l'errore di deserializzazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

背景
需要将自研系统中的审批流数据同步到飞书审批中心。

资料
使用的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序列化的错误。

Lingua principale
Java
Stelle
311
Fork
115
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di larksuite/oapi-sdk-java

Tutte le issue di larksuite/oapi-sdk-java

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.