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

Abierto Apto para principiantes
#1,679 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
62/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
java
Área
api

Línea de trabajo

El error está en cómo se deserializa ListRecord.LinkField: sus campos usan nombres en snake_case, mientras que slackLists.items.list devuelve claves en camelCase. Empieza en la clase LinkField del modelo y revisa qué anotaciones @SerializedName tiene; luego reproduce el caso con un fixture JSON que contenga originalUrl y displayName. Estará listo cuando getOriginalUrl() y getDisplayName() devuelvan los valores del fixture y la forma actual de la solicitud create/update siga serializándose en snake_case.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
Lenguaje dominante
Java
Estrellas
602
Forks
239
Merge medio
1 d 8 h
PR fusionados (30 d)
18

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de slackapi/java-slack-sdk

Todos los issues de slackapi/java-slack-sdk

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.