Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retrait dans la documentation du support XML (#6495) #6698

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions doc/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,29 +54,22 @@ Les autres verbes ne sont pas supportés.
Les formats d'entrées/sorties
-----------------------------

Par défaut, le serveur renvoie les réponses au format ``JSON`` mais il gère aussi le ``XML``. Pour demander au serveur de renvoyer les réponses en ``XML``, il faut utiliser l'en-tête ``Accept`` en spécifiant ``application/xml`` comme valeur (``application/json`` pour recevoir du ``JSON``).

.. sourcecode:: bash

$ curl -H "Accept: application/xml" https://zestedesavoir.com/api/membres/

Les `formats de sortie (en) <http://www.django-rest-framework.org/api-guide/renderers/>`_ sont renseignés dans le fichier ``settings.py`` sous l'attribut ``DEFAULT_RENDERER_CLASSES`` du dictionnaire ``REST_FRAMEWORK``. Pour Django Rest Framework, tous les formats de sorties sont des ``renderer``.
Par défaut, le serveur renvoie les réponses au format ``JSON``. Les `formats de sortie (en) <http://www.django-rest-framework.org/api-guide/renderers/>`_ sont renseignés dans le fichier ``settings.py`` sous l'attribut ``DEFAULT_RENDERER_CLASSES`` du dictionnaire ``REST_FRAMEWORK``. Pour Django Rest Framework, tous les formats de sorties sont des ``renderer``.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dans le projet zds le fichier settings.py n'existe pas.
Le fichier dans lequel se trouve le dictionnaire REST_FRAMEWORK est le suivant : zds/settings/abstract_base/django.py.


.. sourcecode:: python

REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.XMLRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',
),
}

Plusieurs formats d'entrées sont supportés par le serveur, à savoir le ``JSON`` (par défaut), l'``XML``, le formulaire et le multi part (``x-www-form-urlencoded``). Ces formats peuvent être renseignées avec l'en-tête ``Content-Type``.
Plusieurs formats d'entrées sont supportés par le serveur, à savoir le ``JSON`` (par défaut), le formulaire et le multi part (``x-www-form-urlencoded``). Ces formats peuvent être renseignées avec l'en-tête ``Content-Type``.

.. sourcecode:: bash

$ curl -H "Content-Type: application/xml" https://zestedesavoir.com/api/membres/
$ curl -H "Content-Type: application/x-www-form-urlencoded" https://zestedesavoir.com/api/membres/

Les `formats d'entrée (en) <http://www.django-rest-framework.org/api-guide/parsers/>`_ sont renseignés dans le fichier ``settings.py`` sous l'attribut ``DEFAULT_PARSER_CLASSES`` du dictionnaire ``REST_FRAMEWORK``. Pour Django Rest Framework, tous les formats d'entrée sont des ``parser``.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Idem ici : dans le projet zds le fichier settings.py n'existe pas.
Le fichier dans lequel se trouve le dictionnaire REST_FRAMEWORK est le suivant : zds/settings/abstract_base/django.py.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai commit un correctif de ça mais vais le fusionner dans une PR associée à un nouveau ticket (je le renseignerai dans cette conversation).

Par contre, j'ai observé que setting.py était aussi mentionné pour la configuration de la pagination, mais je ne suis pas parvenu à trouver les champs spécifiés dans d'autres fichiers du dépôt.

Ligne 166 du fichier au commit 1db39b9

La pagination peut être configurée directement dans les vues de l'API mais aussi dans le fichier ``settings.py`` pour s'appliquer à l'ensemble des listes des ressources de l'API. Dans le fichier ``settings.py``, ``PAGINATE_BY`` renseigne la taille d'une page, ``PAGINATE_BY_PARAM`` permet aux clients de modifier la taille d'une page et ``MAX_PAGINATE_BY`` permet d'imposer une taille maximale.

Si quelqu'un a une idée de comment modifier en conséquence ce paragraphe, je suis preneur.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai ouvert une PR pour ce problème ici : #6708


Expand All @@ -85,7 +78,6 @@ Les `formats d'entrée (en) <http://www.django-rest-framework.org/api-guide/pars
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.XMLParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser',
),
Expand Down