Ich versuche eine Route mit Sinatra zu erstellen, die nur POST mit einem Content-type: application/json
ohne Erfolg akzeptiert.
Mein Ansatz ist wie folgt:
%Vor% Beim Testen mit curl habe ich gesehen, dass :provides => :json
die Route so konfiguriert, dass sie mit Content-Type: application/json
antwortet.
Das ist richtig, weil ich auch mit einer JSON-Nachricht auf die POST-Anfrage antworten möchte, aber ich brauche wirklich, dass diese Route nur auf POST-Anfragen mit einem Content-Type: application/json
antwortet und nicht zB auf andere (zB Content-Type: application/xml
) .
Gibt es in Sinatra eine Möglichkeit, die Route so einzuschränken, dass nur Anfragen mit einem bestimmten Content-Type
akzeptiert werden?
Anfragen enthalten keinen Header "Content-Type", sondern "Accept". Sinatra sollte grundsätzlich nur auf Anfragen mit "Accept" antworten, die "application / json" enthalten. Nur um sicher zu gehen:
%Vor%Tags und Links ruby json sinatra content-type routes