Skip to content

FPNL/gin-codec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gin-codec

Instead of Bind and Render, call Decode and encode for custom case




install

go get github.com/FPNL/codec

usage example

package main

import (
	"github.com/FPNL/codec"
	"github.com/gin-gonic/gin"
)

func handler(coder codec.Codec) gin.HandlerFunc {
	return func(ctx *gin.Context) {
		var in any
		var out any

		// decode
		if err := coder.Bind(ctx, &in); err != nil {
			_ = ctx.Error(err)
			return
		}

		// decode
		if err := coder.BindQuery(ctx, &in); err != nil {
			_ = ctx.Error(err)
			return
		}

		// decode
		if err := coder.BindVars(ctx, &in); err != nil {
			_ = ctx.Error(err)
			return
		}

		// Do what you want to in

		// encode
		err := coder.Result(ctx, out)
		if err != nil {
			_ = ctx.Error(err)
			return
		}
	}
}

About

Codec for go gin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages