openapi-processor / openapi-processor/openapi-processor-spring

interpretation of openapi readOnly flag in model

Ouverte
#334 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Kotlin
Étoiles
56
Forks
11
Merge moyen
2 j 4 h
PR mergées (30 j)
8

Description

Given a definition like:

``yaml

Data:
  type: object
  properties:        
    status:
      type: string)
      readOnly: true

get generated java:


```java

public record Data {
    @JsonProperty(value = "status", access = JsonProperty.Access.READ_ONLY)
    String status
) {}

This is correct if the generated code is for the provider of the interface (i.e. server-side). But if the code is to be the client of the interface, the field should instead be annotated with JsonProperty.Access.WRITE_ONLY.

So, as a feature request, it would be useful if there was a code generation option that declared the intended usage of the generated code.

See: https://fasterxml.github.io/jackson-annotations/javadoc/2.6/com/fasterxml/jackson/annotation/JsonProperty.Access.html

Guide de contribution

Ouvrir le guide de contribution

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.

Piste de recherche

Aucun fichier source, test ou point d’entrée n’est identifié dans l’issue. Commencez par suivre la manière dont le générateur associe les propriétés readOnly d’OpenAPI aux annotations d’accès de Jackson, puis déterminez où une option de génération provider-versus-client devrait être configurée et définissez des tests couvrant les deux modes.

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

Évaluation

Stack technique
java, openapi, spring-boot
Domaine
backend-api-design, tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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