Generating realistic example values
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- clojure, openapi
- Domaine
- api, documentation
Piste de recherche
Commencez par retracer comment les définitions de Prismatic Schema deviennent des valeurs d’exemple pour Swagger UI, puis comparez ce parcours avec le générateur personnalisé décrit à l’aide de test.check. L’issue est terminée lorsqu’un schéma peut fournir des valeurs réalistes respectant les contraintes et que ces valeurs apparaissent dans les exemples Swagger UI générés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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!
- Langage dominant
- Clojure
- Étoiles
- 1.1k
- Forks
- 145
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de metosin/compojure-api
-
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
metosin/compojure-api#489 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
metosin/compojure-api#468 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
metosin/compojure-api#467 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
metosin/compojure-api#464 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
metosin/compojure-api#463 · 3 commentaires ·
Toutes les issues de metosin/compojure-api
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour
-
.Needs Triage .Run Repro Bot .Team/UXWest Priority:P3 Type:Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
metabase/metabase#84325 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
NoahTheDuke/splint#56 ·
-
Permissioned transactions fetch each entity once per tx-step, producing huge permission-check queriesPeut-être pris @verveguy l’a pris il y a 1 jour. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 Une demi-journée Accessibilité débutants 84/100
clojure-lsp/clojure-lsp#2502 ·
Les mainteneurs répondent en général sous 1 jour