Ruby on Rails

Rails API-modus

API-only-apps, JSON-rendering, serializers, CORS, tokenauthenticatie, versionering

20 gespreksvragen·
Mid-Level
1

Welk commando maakt een nieuwe Rails-applicatie aan in API-only-modus?

Antwoord

De optie --api bij het aanmaken van een Rails-applicatie genereert een lichtgewicht applicatie die geoptimaliseerd is voor API's. Deze configuratie sluit view-gerelateerde middlewares (cookies, sessions, flash) uit, bevat standaard geen Action View en Action Cable en configureert ApplicationController om over te erven van ActionController::API in plaats van ActionController::Base. Dit verkleint de applicatie en verbetert de prestaties voor pure API-toepassingen.

2

Van welke klasse erft ApplicationController in een Rails API-only-applicatie?

Antwoord

In een Rails API-only-applicatie erft ApplicationController van ActionController::API in plaats van ActionController::Base. Deze klasse is een lichtgewicht versie die geen modules bevat voor HTML-rendering, sessions, cookies en flash messages. Ze behoudt alleen de essentiële functionaliteit voor een API zoals routing, parameters, JSON-rendering en callbacks. Dit maakt performantere controllers voor REST-API's mogelijk.

3

Welke methode moet worden gebruikt om een JSON-respons te renderen in een Rails-controller?

Antwoord

De render-methode met de optie json: is de standaardmanier om JSON terug te geven in Rails. Ze converteert het doorgegeven object automatisch naar JSON via de methode to_json. Je kunt de HTTP-statuscode aanpassen met de optie status:, attributen uitsluiten of serializers gebruiken voor fijnere controle. Deze aanpak is eenvoudig en voldoende voor de meeste basistoepassingen.

4

Welke gem wordt aanbevolen voor het afhandelen van CORS (Cross-Origin Resource Sharing) in een Rails API?

5

Wat is de rol van een serializer in een Rails-API?

+17 gespreksvragen

Beheers Ruby on Rails voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis