slackLists.items.list: LinkField originalUrl/displayName are always null (response uses camelCase keys)

Ouverte Adaptée aux débutants
#1,679 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
62/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
java
Domaine
api

Piste de recherche

Le bogue se situe dans la désérialisation de ListRecord.LinkField : ses champs utilisent des noms en snake_case, alors que slackLists.items.list renvoie des clés en camelCase. Commence par la classe LinkField du modèle et vérifie quelles annotations @SerializedName elle porte, puis reproduis avec une fixture JSON contenant originalUrl et displayName. C'est terminé lorsque getOriginalUrl() et getDisplayName() renvoient les valeurs de la fixture et que la structure de requête create/update existante continue de se sérialiser en snake_case.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Summary

slackLists.items.list returns link cells with camelCase keys (originalUrl, displayAsUrl, displayName), but ListRecord.LinkField is deserialized with the SDK's snake_case naming, so it expects original_url, display_as_url and display_name. As a result, every LinkField read back from a list has originalUrl == null and displayName == null.

Writing works: slackLists.items.create and slackLists.items.update accept the snake_case request shape that the SDK sends.

Reproduce
  1. Create a list with a link column and add a row whose link cell has original_url and display_name (through the SDK).
  2. Call slackLists.items.list through MethodsClient#slackListsItemsList.
  3. For the link field of the row: field.getLink().get(0).getOriginalUrl() is null. field.getValue() holds the link as JSON with camelCase keys, for example:
{"originalUrl":"https://github.com/org/repo/pull/7","attachment":{},"displayAsUrl":false,"displayName":"repo#7"}
Expected

getOriginalUrl() and getDisplayName() return the values Slack sent, for example with @SerializedName(value = "original_url", alternate = "originalUrl") on the LinkField fields.

Versions
  • com.slack.api:slack-api-client and slack-api-model 1.51.0
  • Java 25
Langage dominant
Java
Étoiles
602
Forks
239
Merge moyen
1 j 8 h
PR mergées (30 j)
18

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de slackapi/java-slack-sdk

Toutes les issues de slackapi/java-slack-sdk

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.