Skip to content

Instantly share code, notes, and snippets.

@adegbengaagoro
Created February 10, 2022 01:40
Show Gist options
  • Save adegbengaagoro/901147da88ae5d03c363e074e5dacafc to your computer and use it in GitHub Desktop.
Save adegbengaagoro/901147da88ae5d03c363e074e5dacafc to your computer and use it in GitHub Desktop.
Content Negotiation Example - Implementation with Functions
import Route from '@ioc:Adonis/Core/Route'
import payloadGeneratorForViewAndApi from 'App/Helpers/payloadGeneratorForViewAndApi'
import viewAndApiOutputHelper from 'App/Helpers/viewAndApiOutputHelper'
Route.get('posts', async ({ request }) => {
const posts = [
{
title: 'Adonis 101',
},
{
title: 'Adonis 201',
}
]
const outputType = request.accepts(['html', 'json'])
const { viewDataPayload, apiDataPayload } = payloadGeneratorForViewAndApi(posts, 'posts/index', 'All Posts Listed Successfully')
return viewAndApiOutputHelper(outputType, viewDataPayload, apiDataPayload)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment