使用dotweb框架搭建简易服务

go语言web框架挺多的,所谓琳琅满目,里面也有很多优秀的,比如echo、beego等,但体验下来,总是觉得哪里有点小疙瘩,后来才明白过来,echo太简单,很多日常使用的基础模块不具备,需要额外实现,而beego又是太完善,虽然可定制化,但需要熟悉的过程,于是,二话不说,准备了一款"中间态"go-web框架 - dotweb,据说,在几个go比较活跃的群里还是很"非著名"的:)

也希望更多的人能了解到dotweb,能够提出一些建议和思路,感激不尽!

二话不说,github地址:https://github.com/devfeel/dotweb

下面贴一下用dotweb搭建一个简易的应用服务的代码片段,非常的简单,看一下代码注释也很容易理解。

 import "github.com/devfeel/dotweb"

 func main() {
//init DotApp
app := dotweb.New()
//set route
app.HttpServer.Router().GET("/index", func(ctx dotweb.Context) error{
return ctx.WriteString("welcome to my dot web!")
})
//begin server
fmt.Println(app.StartServer())
}

以上是一个非常简单的Web服务,下面来看一个稍微复杂点的:

func main() {
//初始化DotServer
app := dotweb.New() //设置dotserver日志目录
//如果不设置,默认不启用,且默认为当前目录
app.SetEnabledLog(true) //开启development模式
app.SetDevelopmentMode() //设置gzip开关
app.HttpServer.SetEnabledGzip(true) //设置Session开关
app.HttpServer.SetEnabledSession(true) //设置Session配置
app.HttpServer.SetSessionConfig(session.NewDefaultRuntimeConfig()) //设置路由
InitRoute(app.HttpServer) //自定义404输出
app.SetNotFoundHandle(func(w http.ResponseWriter, req *http.Request) {
w.WriteHeader(http.StatusNotFound)
w.Write([]byte("is't app's not found!"))
}) // 开始服务
port :=
fmt.Println("dotweb.StartServer => " + strconv.Itoa(port))
err := app.StartServer(port)
fmt.Println("dotweb.StartServer error => ", err)
} func Hello(ctx dotweb.Context) error {
ctx.WriteString("hello world!")
return nil
} func InitRoute(server *dotweb.HttpServer) {
server.Router().GET("/hello", Hello)
}

这样让大家有一个基本的印象。

这里只是快速上手的一些方法,作为一个web服务框架,功能还是会比较多的,后续陆续整理,提供给大家。

另外,欢迎各位加入我们的go语言QQ群:193409346

go服务端----使用dotweb框架搭建简易服务的更多相关文章

  1. 原创:Equinox OSGi应用嵌入Jersey框架搭建REST服务

    一.环境 eclipse版本:eclipse-luna 4.4 jre版本:1.8 二.Equinox OSGi应用嵌入Jersey框架搭建REST服务 1.新建插件工程HelloWebOSGI a. ...

  2. Equinox OSGi应用嵌入Jersey框架搭建REST服务

    原文地址:https://www.cnblogs.com/kira2will/p/5040264.html 一.环境 eclipse版本:eclipse-luna 4.4 jre版本:1.8 二.Eq ...

  3. Android客户端与PHP服务端交互(一)---框架概述

    背景 作为一个普通上班族,总是想做一些自认为有意义的事情,于是乎准备成立一个工作室,尽管目前正在筹备阶段,但是之前有些朋友提出一些需求的时候,我发现自己的能力还是有限,直到最近和一些技术牛朋友聊起这事 ...

  4. XMPP(一)-openfire服务端的安装和搭建

    XMPP全称:可扩展通讯和表示协议 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯.表示和需求响应服务中的XML数据元流式传输.XMPP以Jabber协议为基础,而Jabber是即时通 ...

  5. struts2(三)---struts2中的服务端数据验证框架validate

    struts2为我们提供了一个很好的数据验证框架–validate,该框架可以很方便的实现服务端的数据验证. ActionSupport类提供了一个validate()方法,当我们需要在某一个acti ...

  6. 使用Yii2的Web框架搭建微服务框架

    方法 使用自己的Yii2镜像作为基础 使用Yii2的Web框架搭建,为了节省搭建Yii2框架的时间,直接使用现有的Yii2项目,删除了业务相关的逻辑类,将这个代码库作为搭建微服务框架的基础,本身已经积 ...

  7. Flask框架搭建REST-API服务

    一.目的 为了能够将测试工具部署成RESTful-API服务,这样就能通过接口的方式提供统一测试工具服务,使用人员就不用构建application而产生的各种环境问题.使用问题. 适合人群:Pytho ...

  8. 【微服务】使用spring cloud搭建微服务框架,整理学习资料

    写在前面 使用spring cloud搭建微服务框架,是我最近最主要的工作之一,一开始我使用bubbo加zookeeper制作了一个基于dubbo的微服务框架,然后被架构师否了,架构师曰:此物过时.随 ...

  9. 【Web】CXF WebService 服务端和客户端 环境搭建及测试

    cxf服务端 1.去官方下载对应的jar包:http://cxf.apache.org/ 2.maven配置相应jar包 3.修改web.xml,完成spring和cxf配置 <!-- Spri ...

随机推荐

  1. Reids详解-抄本

    1.redis是什么 Redis 是一个基于内存的高性能key-value数据库.是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. 2.redis的特点 ...

  2. CF #335 div1 A. Sorting Railway Cars

    题目链接:http://codeforces.com/contest/605/problem/A 大意是对一个排列进行排序,每一次操作可以将一个数字从原来位置抽出放到开头或结尾,问最少需要操作多少次可 ...

  3. NodeJS 中npm包管理工具

    NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从 ...

  4. 蓝桥杯-密码发生器-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  5. 蓝桥杯-括号问题-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  6. innobackup增量备份与恢复

    一.全备:      innobackupex --user=root --password=123  /backup/all      全备之后,去数据库操作,创建新的对象或插入数据 二.完整备份目 ...

  7. JS判断PC和移动端设备

    1.方法一 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", ...

  8. OGNL表达式与EL表达式

    一.OGNL表达式 a)什么是OGNL? OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言, 通过它简单一致的表达式语法.主要功能:    ...

  9. Java 7 Fork/Join 框架

    在 Java7引入的诸多新特性中,Fork/Join 框架无疑是重要的一项.JSR166旨在标准化一个实质上可扩展的框架,以将并行计算的通用工具类组织成一个类似java.util中Collection ...

  10. JDK源码之AQS源码剖析

    除特别注明外,本站所有文章均为原创,转载请注明地址 AbstractQueuedSynchronizer(AQS)是JDK中实现并发编程的核心,平时我们工作中经常用到的ReentrantLock,Co ...