Do tej pory znalazłem dwa sposoby, aby request.format.json?
było prawdziwe w Railsach (tj. Gdy przychodzące żądanie jest traktowane jako JSON). Jednym z nich jest, jeśli żądasz zasobu, a kończąc na .json
drugi jest, jeśli podasz w swoim żądaniu nagłówek Accept: application/json
. Każda praca samodzielna.Szyny: jak traktować alternatywę Zaakceptuj: typy treści jako JSON?
Chcę zarejestrować własną rękę „akceptuje” typ na tym drugim przypadku:
Accept: application/vnd.myapp_v1+json
a nie to traktowane przez szyny jako „żądanie json” jak application/json
, bez konieczności dołączania .json
.
Moja pierwsza myśl polegała na zarejestrowaniu mojego MimeType jako :json
(w ramach mojego kodu inicjalizacyjnego), ale to faktycznie przerwie obsługę aplikacji/json, a nie to, co chcę zrobić.
Mime::Type.register "application/vnd.myapp_v1+json", :json # my failed attempt
działa idealnie! Dzięki za odpowiedź. –