1:data/data.go

package data

import(
"fmt"
"database/sql"
_"github.com/lib/pq"
) const(
host = "192.168.72.128"
port =
user = "test"
password = "test"
dbname = "testdb"
) var Db *sql.DB func init(){
var err error pgInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",
host, port, user, password, dbname) Db, err = sql.Open("postgres", pgInfo) if err != nil{
panic(err)
}
}

2:result/result.go

package result

type Result struct{
No int `json:"no"`
Msg string `json:"msg"`
Obj interface{} `json:"obj,omitempty"`
}

3:user/user_data.go

package user

import(
."iristest/data"
) type User struct{
ID int `json:"id"`
Name string `json:"name"`
Age int `json:"age"`
} func (user *User) Insert() (err error){
sql := "insert into t_user(name,age) values($1,$2)"
_, err = Db.Exec(sql, user.Name, user.Age)
return
} func Delete(id int) (err error){
sql := "delete from t_user where id=$1"
_,err = Db.Exec(sql, id)
return
} func (user *User) Update()(err error){
sql := "update t_user set name=$1,age=$2 where id=$3"
_,err = Db.Exec(sql, user.Name, user.Age, user.ID)
return
} func Select(id int)(user User, err error){
sql := "select id,name,age from t_user where id=$1"
user = User{}
err = Db.QueryRow(sql, id).Scan(&user.ID, &user.Name, &user.Age)
return
} func SelectList()(users []User, err error){
sql := "select id,name,age from t_user"
users = []User{}
rows,err := Db.Query(sql)
if err != nil{
panic(err.Error)
}
defer rows.Close() for rows.Next(){
rows.Columns()
var user User
err = rows.Scan(&user.ID, &user.Name, &user.Age)
if err != nil{
panic(err.Error)
} users = append(users, user)
} return
}

4:user/user_web.go

package user

import(
"github.com/kataras/iris"
"strconv"
."iristest/result"
) func CreateUser(ctx iris.Context){
var user User
ctx.ReadJSON(&user) err := user.Insert() result := Result{} if err != nil{
result.No =
result.Msg = err.Error()
}else{
result.No =
result.Msg = "成功保存用户信息"
} ctx.JSON(result)
} func GetUserById(ctx iris.Context){
id,_ := strconv.Atoi(ctx.Params().Get("id"))
user, err := Select(id) result := Result{} if err != nil{
result.No =
result.Msg = err.Error()
}else{
result.No =
result.Msg = "成功获取用户信息"
result.Obj = user
} ctx.JSON(result)
} func GetUserList(ctx iris.Context){
users, err := SelectList() result := Result{} if err != nil{
result.No =
result.Msg = err.Error()
}else{
result.No =
result.Msg = "成功获取用户列表信息"
result.Obj = users
} ctx.JSON(result)
} func DeleteUserById(ctx iris.Context){
id,_ := strconv.Atoi(ctx.Params().Get("id"))
err := Delete(id) result := Result{} if err != nil{
result.No =
result.Msg = err.Error()
}else{
result.No =
result.Msg = "成功删除用户信息"
} ctx.JSON(result)
}

5:main.go

package main

import(
"github.com/kataras/iris"
"github.com/kataras/iris/middleware/logger"
"github.com/kataras/iris/middleware/recover"
."iristest/user"
) func main(){
app := iris.New()
app.Logger().SetLevel("debug")
app.Use(recover.New())
app.Use(logger.New()) app.RegisterView(iris.HTML("./public", ".html"))
app.Get("/", func(ctx iris.Context){
ctx.View("index.html")
})//users
usersRoutes := app.Party("/users", func(ctx iris.Context){
ctx.Next()
})
{
usersRoutes.Post("/", CreateUser)
usersRoutes.Delete("/{id:int}", DeleteUserById)
usersRoutes.Get("/{id:int}", GetUserById)
usersRoutes.Get("/", GetUserList)
} app.Run(iris.Addr(":8080"),iris.WithCharset("UTF-8"),iris.WithoutServerError(iris.ErrServerClosed))
}

016-Go Iris Restful测试的更多相关文章

  1. RESTful测试工具-RESTClient

    很多测试人可能对RESTful的概念还是很模糊的,那么到底什么是RESTful?百度百科给出的一句话描述是一个架构样式的网络系统,似乎还是有点不懂?OK,说到Restful,我们一般从REST开始说起 ...

  2. RESTful测试工具RESTClient

    1.简介 RESTClient是一个用于测试RESTful Web服务的客户端, 是用Java Swing编写的基于Http协议的接口测试工具, 它可以向服务器发送各种Http请求,并显示服务器响应. ...

  3. 002 Spring Restful案例

    1:工程结构 需要注意的是需要额外导入以下三个包: jackson-annotations-2.6.1.jar jackson-core-2.6.1.jar jackson-databind-2.6. ...

  4. 第四篇:用IntelliJ IDEA 搭建基于jersey的RESTful api

    编译器:Intellij IDEA 系统环境: MAC OS 相关技术:Maven.tomcat 7.jdk8 1.创建项目 首先创建一个web Application项目(这里我们打算用maven引 ...

  5. sklearn训练感知器用iris数据集

    简化版代码 from sklearn import datasets import numpy as np #获取data和类标 iris = datasets.load_iris() X = iri ...

  6. Spring MVC之JSON数据交互和RESTful的支持

    1.JSON概述 1.1 什么是JSON JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式.它是基于JavaScript的一个子集,使用了C.C ...

  7. springMVC对RESTful的支持

    1:后台controller方法编写 @RequestMapping("/itemsLook/{id}") public ItemsCustom itemsLook(@PathVa ...

  8. Web系统开发构架再思考-前后端的完全分离

    前言 前后端完全分离其实一直是Web开发人员的梦想,也一直是我的梦想,遥想当年,无论是直接在代码里面输出HTML,还是在HTML里面嵌入各种代码,都不能让人感到满意.期间的痛苦和纠结,我想所有Web开 ...

  9. SpringBoot实例

    7player 7号球员 -- Show Time !跳至内容 首发 左边锋 技术流 外援 教练 7号 基于SpringBoot + Mybatis实现SpringMVC Web项目[原创] 目录 [ ...

随机推荐

  1. android Apk打包过程概述_android是如何打包apk的

    流程概述:1.打包资源文件,生成R.java文件2.处理aidl文件,生成相应java 文件3.编译工程源代码,生成相应class 文件4.转换所有class文件,生成classes.dex文件5.打 ...

  2. 《“胡”说IC——菜鸟工程师完美进阶》

    <“胡”说IC——菜鸟工程师完美进阶> 基本信息 作者: 胡运旺 出版社:电子工业出版社 ISBN:9787121229107 上架时间:2014-5-15 出版日期:2014 年5月 开 ...

  3. [Web 前端] CSS篇之3. 如何保持浮层水平垂直居中

    原文链接](http://www.cnblogs.com/yaliu/p/5190957.html) 浮层水平垂直居中方法 (一)利用绝对定位与transform <div class=&quo ...

  4. [转]php的public、protected、private三种访问控制模式的区别

    FROM : http://blog.163.com/weiwenjuan_bj/blog/static/14035033620129304183850/?suggestedreading publi ...

  5. java 常用集合list与Set、Map区别及适用场景总结

     转载请备注出自于:http://blog.csdn.net/qq_22118507/article/details/51576319                  list与Set.Map区别及 ...

  6. go语言之进阶篇 channel介绍

    1.channel介绍 和map类似,channel也一个对应make创建的底层数据结构的引用. 当我们复制一个channel或用于函数参数传递时,我们只是拷贝了一个channel引用,因此调用者何被 ...

  7. Unhandled Exception: System.BadImageFormatException: Could not load file or assembly (2008R2配置x64website)

    .NET Error Message: Unhandled Exception: System.BadImageFormatException: Could not load file or asse ...

  8. [leetcode]Set Matrix Zeroes @ Python

    原题地址:https://oj.leetcode.com/problems/set-matrix-zeroes/ 题意:Given a m x n matrix, if an element is 0 ...

  9. Rotate Image leetcode java

    题目: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...

  10. Maven镜像更换为阿里云中央仓库

    前言 maven仓库默认在国外,使用难免很慢,尤其是下载依赖的时候,换为国内镜像,让你感受飞一般的感觉.国内支持maven镜像的有阿里云,开源中国等,这里换为阿里云的. 更换 修改maven配置文件s ...