beegoapix

package module
v0.0.0-...-d7d90ef Latest Latest
Warning

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

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

README

中文文档

beegoapix

beegoapix is beego api extension framework, to develop more faster api service.

Install

go get github.com/luffyke/beegoapix

Function

  1. Http API handling, accept all client http request, reflect and call sub-controller to handle request(v0.1)
  2. Logging, log request and response(v0.1)
  3. Error handling(v0.1)
  4. API version control(v0.2)
  5. API authority control(v0.2)
  6. Combine controller
  7. Cache(etag)

Demo

Setup environment
go get github.com/astaxie/beego
go get github.com/luffyke/beegoapix
go get github.com/beego/bee
New api project
bee api hello
Edit router.go
package routers

import (
	"hello/controllers"
	"github.com/luffyke/beegoapix"
)

func init() {
	beegoapix.Router()
	// add your business path mapping
	beegoapix.RegController("app", controllers.AppController{})
}
Business controller
package controllers

import (
	"github.com/luffyke/beegoapix/api"

	"github.com/astaxie/beego/logs"
)

type AppController struct {
}

func (this *AppController) CheckVersion(request api.ApiRequest) (response api.ApiResponse) {
	logs.Debug(request.Id)
	logs.Debug(request.Data["versionCode"])
	response.Data = make(map[string]interface{})
	response.Data["versionName"] = "version name 1.0"
	return response
}
Run the server
bee run
Post the request
http://localhost:8080/v1/app/check-version
Request
{
  "id":"12345678",
  "sign":"abc",
  "client":{
    "caller":"app",
    "os":"android",
    "ver":"1.0",
    "platform":"android",
    "ch":"offical",
    "ex":{
      "imei":"1a2b3c"
    }
  },
  "page":{
  	"page":1,
  	"size":10
  },
  "user":{
    "uid":"123",
    "sid":"abc"
  },
  "data":{
    "versionCode":"v1.0.0"
  }
}
Response
{
    "state": {
        "code": 0,
        "msg": ""
    },
    "data": {
        "versionName": "version name 1.0"
    }
}

Deploy

  1. setup go environment
  2. install beego and beegoapix
go get github.com/astaxie/beego
go get github.com/luffyke/beegoapix
  1. download and run beego deploy shell

Android demo

please reference to project beegoapix-android-demo

Documentation

Index

Constants

View Source
const (
	VERSION = "0.2.0"
)

Variables

This section is empty.

Functions

func RegController

func RegController(name string, controller interface{})

func Router

func Router()

func SetLoginPaths

func SetLoginPaths(paths ...string)

Types

type BaseController

type BaseController struct {
	beego.Controller
}

func (*BaseController) Post

func (c *BaseController) Post()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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