Ich möchte Anfragen an alle API-Controller auf die Weiterleitung an den JSON-Pfad beschränken. Ich möchte eine Weiterleitung verwenden, da sich auch die URL entsprechend der Antwort ändern sollte.
Eine Option wäre die Verwendung einer before_filter
, die die Anfrage an die gleiche Aktion umleitet, aber das JSON-Format erzwingt. Das Beispiel funktioniert noch nicht!Rails: API-Anfragen auf JSON-Format beschränken
Eine andere Option wäre, das Format in den Routeneinstellungen zu beschränken.
# routes.rb
MyApp::Application.routes.draw do
namespace :api, defaults: { format: 'json' } do
namespace :v1 do
resources :posts
end
end
end
Ich möchte alle Anforderung als JSON-Anforderung, um am Ende:
http://localhost:3000/api/v1/posts
http://localhost:3000/api/v1/posts.html
http://localhost:3000/api/v1/posts.xml
http://localhost:3000/api/v1/posts.json
...
Welche Strategie würden Sie empfehlen?
+1 für den Anfang des Kommentars. Das Hinzufügen eines Formats ist meiner Erfahrung nach nicht so einfach, obwohl es mit Rails einfach zu implementieren ist. Der API-Designer muss immer noch darüber nachdenken, was es bedeutet, ein zusätzliches Format mit allen Auswirkungen zu unterstützen. –