基于beego一键创建restful api

借鉴自这里

restful协议可以参考如下,当然最好的,看rails的rake routes,那个最标准了

URL                HTTP Verb    Functionality
/object            POST         Creating Objects
/object/objectId   GET          Retrieving Objects
/object/objectId   PUT          Updating Objects
/object            GET          Queries
/object/objectId   DELETE       Deleting Objects

直接贴beego的代码

app.conf

appname = hello
httpport = 8080
runmode = dev

#RESTFul应用发送信息的时候是raw body,而不是普通的form表单,所以需要额外的读取body信息
copyrequestbody = true

router.go

package routers

import (
    "hello/controllers"

    "github.com/astaxie/beego"
)

func init() {
    beego.RESTRouter("/object", &controllers.ObjectController{})
    beego.Router("/", &controllers.MainController{})
}

ObjectController.go

package controllers

import (
    "fmt"

    "github.com/abbot/go-http-auth"
    "github.com/astaxie/beego"
)

type ObjectController struct {
    beego.Controller
}

//API应用不需要模板渲染,所以关闭自动渲染
func (this *ObjectController) Prepare() {
    this.EnableRender = false
}

func (this *ObjectController) Post() {

}

func Secret(user, realm string) string {
    if user == "john" {
        // password is "hello"
        return "$1$dlPL2MqE$oQmn16q49SqdmhenQuNgs1"
    }
    return ""
}

//basic auth需要三方库来做
func (this *ObjectController) Get() {
    authenticate := auth.NewBasicAuthenticator("example.com", Secret)
    if username := authenticate.CheckAuth(this.Ctx.Request); username == "" {
        authenticate.RequireAuth(this.Ctx.ResponseWriter, this.Ctx.Request)
    }

    //url里面的参数这样获取this.Ctx.Input.Params[":objectId"]
    params := this.Ctx.Input.Params
    for key, value := range params {
        info := fmt.Sprintf("%s: %s\n", key, value)
        this.Ctx.WriteString(info)
    }
}

func (this *ObjectController) Put() {

}

func (this *ObjectController) Delete() {

}

不解释了,都在代码里

时间: 2024-10-09 11:29:15

基于beego一键创建restful api的相关文章

基于Django RESTframework设计Restful API

导语 ? 关于RESTful的问题,在最近的面试中遇到很多,之前有过一定的了解,但没有系统性的总结分析.所以现在结合Django RESTframework来加深对RESTful的理解,同时梳理这过程的一些知识点. 什么是RESTful? ?这个问题是最容易想到的,首先要分析这个问题,网上的其他文章都会讲到有关REST(Representational State Transfer),中文翻译:"表述性状态传递",再白话一点就是对资源的表述性状态传递.刚开始,看到这里头都大了,那我们来

【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】03、创建RESTful API,并统一处理返回值

1.POM文件引入fastJson依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.38</version> </dependency> 2.添加几个关于HTTP和JSON的工具类 package com.ltsolution.framework.util; import j

SpringBoot RESTful API 架构风格实践

如果你要问 Spring Boot 做什么最厉害,我想答案就在本章标题 RESTful API 简称 REST API . 1 RESTful API 概述 1.1 什么是 RESTful API Rest 是一种规范,符合 Rest 的 Api 就是 Rest Api.简单的说就是可联网设备利用 HTTP 协议通过 GET.POST.DELETE.PUT.PATCH 来操作具有URI标识的服务器资源,返回统一格式的资源信息,包括 JSON.XML.CSV.ProtoBuf.其他格式. 1.2

Meteor 前端 RESTful API 通过后端 API 下载文件

Meteor 下载文件 问题场景 后端 HTTP 服务器提供一个下载接口,但是需要前端 Meteor 能够给浏览器用户开一个URL来下载这个文件. 举例:在线的Meteor Logo文件就好比后端提供的 RESTful API,然后我们给浏览器客户暴露一个 URL 来下载 Meteor 依赖 安装所有依赖: meteor add http meteor add cfs:http-methods meteor add froatsnook:request 说明: * cfs:http-method

学习RESTful API

总是见到文章有提到RESTful API的,却不知道是什么东西,找到这篇文章,觉得讲得不错,就转载到这里来吧. 另外也有一篇文章也不错,发个链接:白话REST-识别真假REST ---------------------- 前几日,有一小哥突然问我:陈陈,你会RESTful API吗?我说:不会呀,他说:那我教你好了.然后我就把该小哥拉入"黑名单"了,理由是唱你妹的小星星.然后去深入的学习了一下REST相关的东西. RESTful API对我并不是一个全新的像是突然蹦出来的词汇,我印象

在Ubuntu上快速搭建基于Beego的RESTful API

最近在研究Go,打算基于Go做点Web API,于是经过初步调研,打算用Beego这个框架,然后再结合其中提供的ORM以及Swagger的集成,可以快速搭建一个RESTful API的网站. 下面是具体做法: 1. 在Ubuntu中安装Go 1.8 默认Ubuntu apt-get提供的是Go 1.6,而我们要用最新的Go 1.8需要执行以下操作: 1.1 添加apt-get源并刷新 $ sudo add-apt-repository ppa:gophers/archive $ sudo apt

通过beego快速创建一个Restful风格API项目及API文档自动化(转)

通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界面. 一.创建数据库及数据表(MySQL) #db--jeedev -- ---------------------------- -- Table structure for `app` -- ---------------------------- DROP TABLE IF EXISTS `a

基于Node的PetShop,RESTful API以及认证

由于宠物店的业务发展需要,我们需要一种更加便捷的方式来管理日益增多的宠物和客户.最好的方法就是开发一个APP,我可以用这个APP来添加.更新和删除宠物.同时,业务要给宠物店的会员用户有限查看某些宠物. 我们在开发中会用到NodeJs以及基于NodeJs的开发框架,如:Express,Mongoose(用来管理MongoDB的数据),Passport(认证)等工具. 开始 我们这个项目的结构大概是这样的: petshot/ //服务端和客户端(android) server/ //服务端 mode

快速创建Flask Restful API项目

前言 Python必学的两大web框架之一Flask,俗称微框架.它只需要一个文件,几行代码就可以完成一个简单的http请求服务. 但是我们需要用flask来提供中型甚至大型web restful api服务的时候就需要我们来规划项目结构. Django 框架有自身的生成项目结构的命令和生成app的命令,但是Flask没有. 这篇文章主要介绍使用工具帮助我们进行一些Flask rest api项目初始化的工作 cookiecutter-flask-restful 介绍 cookiecutter-