A JSON-API based API for AlchemyCMS
Add this line to your application's Gemfile:
gem 'alchemy-json_api'And then execute:
$ bundleOr install it yourself as:
$ gem install alchemy-json_apiRun 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) // => HomepageIf you ever want to change how Alchemy serializes attributes you can set
Alchemy::JsonApi.key_transform = :camel_lowerIt defaults to :underscore.
Contribution directions go here.
The gem is available as open source under the terms of the BSD-3-Clause license.