A JSON-API based API for AlchemyCMS
Add this line to your application's Gemfile:
gem 'alchemy-json_api'
And then execute:
$ bundle
Or install it yourself as:
$ gem install alchemy-json_api
Run this in your application:
yarn add "@alchemy_cms/json_api"
Mount the engine in your Alchemy Rails app like this:
# config/routes.rb
mount Alchemy::JsonApi::Engine => "/jsonapi/"
NOTE Pick any path you like. This will be the prefix of your API URLs
This repo provides an NPM package with deserializers to help you convert the response into JS objects.
import { deserializePages } from "@alchemy_cms/json_api"
const response = await fetch("/jsonapi/pages.json")
const data = await response.json()
const pages = deserializePages(data)
console.log(pages[0].name) // => Homepage
If you ever want to change how Alchemy serializes attributes you can set
Alchemy::JsonApi.key_transform = :camel_lower
It defaults to :underscore
.
Contribution directions go here.
The gem is available as open source under the terms of the BSD-3-Clause license.