Generating realistic example values
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- clojure, openapi
- Área
- api, documentation
Línea de trabajo
Comienza rastreando cómo las definiciones de Prismatic Schema se convierten en valores de ejemplo de Swagger UI y, a continuación, compara ese recorrido con el generador personalizado descrito mediante test.check. El issue estará completo cuando un esquema pueda proporcionar valores realistas que satisfagan las restricciones y esos valores aparezcan en los ejemplos de Swagger UI generados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Library Version(s)
1.1.11
Problem
I'm experimenting with compojure-api for documenting a new set of APIs with Prismatic Schema. It;s working well so far, though I have one issue which is not obvious how to resolve - how to generate realistic example values for an input / output schema.
Currently I get Example Values in the swagger UI like this:
{
"name": "string",
"description": "string",
"type": "assetClass1",
"ownerID": "string"
"dateCreated": "2018-11-19T01:25:04.282Z",
}
In this case, I need ownerID to be a 64 character hex string which satisfies a custom valid-user-id? predicate, which defined in Schema as something like:
(s/defschema UserID
(s/constrained s/Str valid-user-id? "Valid User ID"))
However it's not clear how to get compojure-api to generate valid values which satisfy the constraint (The value "string" doesn't....) and display these to the user in the Swagger UI.
Is there a way to do this? Ideally I would like to be able to specify a custom generator for the schema, which I build easily enough with test.check but how do I get that to be reflected in the Swagger UI?
Any help much appreciated!
- Lenguaje dominante
- Clojure
- Estrellas
- 1.1k
- Forks
- 145
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de metosin/compojure-api
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
metosin/compojure-api#489 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
metosin/compojure-api#468 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
metosin/compojure-api#467 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
metosin/compojure-api#464 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
metosin/compojure-api#463 · 3 comentarios ·
Todos los issues de metosin/compojure-api
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
NoahTheDuke/splint#56 ·
-
Permissioned transactions fetch each entity once per tx-step, producing huge permission-check queriesPosiblemente ocupada @verveguy la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Medio día Aptitud para principiantes 84/100
clojure-lsp/clojure-lsp#2502 ·
Los mantenedores suelen responder en 1 día
-
Sessions are never closedAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100