api2go-with-gin-example

command module
v0.0.0-...-a4a0adb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2017 License: Apache-2.0 Imports: 6 Imported by: 0

README

api2go with gin example

Build Status

This application, written in go, demonstrates using api2go with the gin.

Build

Dependencies are managed by the dep tool. To download dependencies to a vendor directory

dep ensure

With the dependencies downloaded, we can build the application:

go build -tags=gingonic
Run

Run the static binary:

./api2go-with-gin-example

Documentation

Overview

Package examples shows how to implement a basic CRUD for two data structures with the api2go server functionality. To play with this example server you can run some of the following curl requests

In order to demonstrate dynamic baseurl handling for requests, apply the --header="REQUEST_URI:https://www.your.domain.example.com" parameter to any of the commands.

Create a new user:

curl -X POST http://localhost:31415/v0/users -d '{"data" : {"type" : "users" , "attributes": {"user-name" : "marvin"}}}'

List users:

curl -X GET http://localhost:31415/v0/users

List paginated users:

curl -X GET 'http://localhost:31415/v0/users?page\[offset\]=0&page\[limit\]=2'

OR

curl -X GET 'http://localhost:31415/v0/users?page\[number\]=1&page\[size\]=2'

Update:

curl -vX PATCH http://localhost:31415/v0/users/1 -d '{ "data" : {"type" : "users", "id": "1", "attributes": {"user-name" : "better marvin"}}}'

Delete:

curl -vX DELETE http://localhost:31415/v0/users/2

Create a chocolate with the name sweet

curl -X POST http://localhost:31415/v0/chocolates -d '{"data" : {"type" : "chocolates" , "attributes": {"name" : "Ritter Sport", "taste": "Very Good"}}}'

Create a user with a sweet

curl -X POST http://localhost:31415/v0/users -d '{"data" : {"type" : "users" , "attributes": {"user-name" : "marvin"}, "relationships": {"sweets": {"data": [{"type": "chocolates", "id": "1"}]}}}}'

List a users sweets

curl -X GET http://localhost:31415/v0/users/1/sweets

Replace a users sweets

curl -X PATCH http://localhost:31415/v0/users/1/relationships/sweets -d '{"data" : [{"type": "chocolates", "id": "2"}]}'

Add a sweet

curl -X POST http://localhost:31415/v0/users/1/relationships/sweets -d '{"data" : [{"type": "chocolates", "id": "2"}]}'

Remove a sweet

curl -X DELETE http://localhost:31415/v0/users/1/relationships/sweets -d '{"data" : [{"type": "chocolates", "id": "2"}]}'

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL