trouver un moyen de représenter un envoi de json + pdf #9

Closed
opened 2023-12-11 11:20:13 +01:00 by Maxime · 5 comments
Owner

dans le cas d'un post d'article, un chercheur doit introduire un pdf ET un json en même temps cependant on n'a pas trouvé comment représenter ça. (ça doit être atomique d'après le REST API)

dans le cas d'un post d'article, un chercheur doit introduire un pdf ET un json en même temps cependant on n'a pas trouvé comment représenter ça. (ça doit être atomique d'après le REST API)
Owner

J'envisage plusieurs solutions:

  • Envoyer le fichier dans un champs json en b64
  • envoyer le fichier retourne un id, cet id peut être utilisé par un autre endpoint pour spécifier le fichier. (peut entrer en contradiction avec le fait que nous ne pouvons pas utiliser de machine à état, mais est en même temps pas vraiment un état)
  • envoyer les données en premier puis attendre que le client ré-envoie le fichier. (est en compléte contradiction avec l'intérditction des machine à état)
J'envisage plusieurs solutions: - Envoyer le fichier dans un champs json en b64 - envoyer le fichier retourne un id, cet id peut être utilisé par un autre endpoint pour spécifier le fichier. (peut entrer en contradiction avec le fait que nous ne pouvons pas utiliser de machine à état, mais est en même temps pas vraiment un état) - ~~envoyer les données en premier puis attendre que le client ré-envoie le fichier.~~ (est en compléte contradiction avec l'intérditction des machine à état)
tonitch added the
Question
label 2023-12-11 16:30:30 +01:00
Author
Owner

je propose d'envoyer le fichier en B64, il doit surement déjà exister un parser et au moins on s'assure d'éviter la machine à état

je propose d'envoyer le fichier en B64, il doit surement déjà exister un parser et au moins on s'assure d'éviter la machine à état
Owner

je trouve que la deuxième solution est plus élégante mais dans les faits oui, par b64 c'est certainement un peut plus simple à implémenter.

pour se faire je dirais

schema:
	type: object
	properties:
		example1:
			...
		File:
			type: string
			contentMediaType: image/png
			contentEncoding: base64
		example2:
			...

comme expliqué ici

je trouve que la deuxième solution est plus élégante mais dans les faits oui, par b64 c'est certainement un peut plus simple à implémenter. pour se faire je dirais ```yaml schema: type: object properties: example1: ... File: type: string contentMediaType: image/png contentEncoding: base64 example2: ... ``` comme expliqué [ici](https://spec.openapis.org/oas/latest.html#considerations-for-file-uploads)
Author
Owner

problème : properties et contentMediaType: contentEncoding s'aiment pas

problème : properties et contentMediaType: contentEncoding s'aiment pas
Owner

ha je pense que ça doit être dans un requestBody tho. je vais faire des test. je t'ai juste pondu ce que j'ai trouvé dans la doc

ha je pense que ça doit être dans un requestBody tho. je vais faire des test. je t'ai juste pondu ce que j'ai trouvé dans la doc
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: PGL/Clyde#9
No description provided.