When a payload has fields with mixed presence documenting those fields may still result in a failure due to undocumented fields
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- java
- Ambito
- backend-api-design, documentation
Direzione di ricerca
Start by reproducing the JSON payload with the documented paths: count, items[].k1, and items[].k2[].name. Inspect the handling of documented fields and cascading removal of empty objects and arrays, then add coverage showing that both empty and populated items[].k2 entries are handled without an undocumented-field failure.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Taken from this question on Stack Overflow, consider the following JSON payload:
{
"count": 2,
"items": [
{
"k1": "v1",
"k2": []
},
{
"k1": "v2",
"k2": [
{
"name": "joe"
},
{
"name": "alice"
}
]
}
]
}
Documenting the following fields should be sufficient for the payload to be considered fully documented:
countitems[].k1items[].k2[].name
Instead, REST Docs reports that items[].k2 has not been documented.
When items[].k2[].name is documented, it's removed from its containing object. The object then becomes empty and it's removed from its parent array. This parent array, items[].k2 then becomes empty so it is removed from items. This only works for the second items[].k2 entry in the payload. The first items[].k2 entry is unaffected because it's empty to begin with. As a result, there's no removal of the name entry to trigger the cascading removal of empty containers (objects or arrays).
- Lingua principale
- Java
- Stelle
- 1.2k
- Fork
- 733
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di spring-projects/spring-restdocs
-
status: waiting-for-triage
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
spring-projects/spring-restdocs#1075 ·
-
Support extracting Bean Validation constraints from method parametersForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertastatus: waiting-for-triage
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
spring-projects/spring-restdocs#1026 · 2 commenti ·
-
status: blocked status: waiting-for-triage
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
spring-projects/spring-restdocs#953 · 7 commenti ·
-
Add support for modifying a URI's path during pre-processingForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertatype: enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
status: feedback-provided status: waiting-for-triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
spring-projects/spring-restdocs#937 · 4 commenti ·
Tutte le issue di spring-projects/spring-restdocs
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
snowflakedb/snowflake-kafka-connector#1610 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
swagger-api/swagger-petstore#245 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
liquid-java/liquidjava#443 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
quarkiverse/quarkus-google-cloud-services#1188 ·
I maintainer di solito rispondono entro 1 giorno