beegoapix - beego api extension

luffyke發表於2017-01-18

簡介

beegoapix是一個beego API開發框架,用於快速開發API服務。

安裝

go get github.com/luffyke/beegoapix

功能

  1. 統一API請求處理和返回(v0.1)
  2. 統一日誌處理(v0.1)
  3. 異常控制(v0.1)
  4. API版本控制(v0.2)
  5. API許可權控制(v0.2)
  6. 組合介面
  7. 介面快取
  8. 自定義請求

示例

首先確保安裝beego和bee工具。

新建Api專案

bee api hello

編輯router.go,新增api路由

package routers

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

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

實現業務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
}

執行服務

bee run

測試請求

http://localhost:8080/v1/app/check-version

請求示例

{
  "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"
  }
}
返回
{
    "state": {
        "code": 0,
        "msg": ""
    },
    "data": {
        "versionName": "version name 1.0"
    }
}

Android 示例

參考專案 beegoapix-android-demo

相關文章