All Projects → yangfei4913438 → Goapiserver

yangfei4913438 / Goapiserver

Licence: apache-2.0
A golang api server demo that contains usage of Redis and MySQL.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects
language
365 projects

Projects that are alternatives of or similar to Goapiserver

Gardens
💎 backend manager platform ➕ 开源交流群:202196300
Stars: ✭ 312 (+1318.18%)
Mutual labels:  mysql, redis, beego
Go jwt
golang for websocket wechat or weixin and jwt,http ratelimit
Stars: ✭ 19 (-13.64%)
Mutual labels:  mysql, redis, beego
Dev Setup
macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults.
Stars: ✭ 5,590 (+25309.09%)
Mutual labels:  mysql, redis
Python Spider
豆瓣电影top250、斗鱼爬取json数据以及爬取美女图片、淘宝、有缘、CrawlSpider爬取红娘网相亲人的部分基本信息以及红娘网分布式爬取和存储redis、爬虫小demo、Selenium、爬取多点、django开发接口、爬取有缘网信息、模拟知乎登录、模拟github登录、模拟图虫网登录、爬取多点商城整站数据、爬取微信公众号历史文章、爬取微信群或者微信好友分享的文章、itchat监听指定微信公众号分享的文章
Stars: ✭ 615 (+2695.45%)
Mutual labels:  mysql, redis
Zxw.framework.netcore
基于EF Core的Code First模式的DotNetCore快速开发框架,其中包括DBContext、IOC组件autofac和AspectCore.Injector、代码生成器(也支持DB First)、基于AspectCore的memcache和Redis缓存组件,以及基于ICanPay的支付库和一些日常用的方法和扩展,比如批量插入、更新、删除以及触发器支持,当然还有demo。欢迎提交各种建议、意见和pr~
Stars: ✭ 691 (+3040.91%)
Mutual labels:  mysql, redis
Javafamily
【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
Stars: ✭ 28,668 (+130209.09%)
Mutual labels:  mysql, redis
Perfect Ssm
🍇更完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis)
Stars: ✭ 606 (+2654.55%)
Mutual labels:  mysql, redis
Imi
imi 是基于 Swoole 的 PHP 协程开发框架,它支持 Http、Http2、WebSocket、TCP、UDP、MQTT 等主流协议的服务开发,特别适合互联网微服务、即时通讯聊天im、物联网等场景!。QQ群:17916227
Stars: ✭ 680 (+2990.91%)
Mutual labels:  mysql, redis
Javakeeper
✍️ Java 工程师必备架构体系知识总结:涵盖分布式、微服务、RPC等互联网公司常用架构,以及数据存储、缓存、搜索等必备技能
Stars: ✭ 502 (+2181.82%)
Mutual labels:  mysql, redis
Mall Swarm
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。
Stars: ✭ 7,874 (+35690.91%)
Mutual labels:  mysql, redis
Mall Tiny
mall-tiny是一款基于SpringBoot+MyBatis-Plus的快速开发脚手架,拥有完整的权限管理功能,可对接Vue前端,开箱即用。
Stars: ✭ 738 (+3254.55%)
Mutual labels:  mysql, redis
Smartsql
SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
Stars: ✭ 775 (+3422.73%)
Mutual labels:  mysql, redis
Taroco
整合Nacos、Spring Cloud Alibaba,提供了一系列starter组件, 同时提供服务治理、服务监控、OAuth2权限认证,支持服务降级/熔断、服务权重,前端采用vue+elementUI+webpack,可以很好的解决转向Spring Cloud的一系列问题。
Stars: ✭ 545 (+2377.27%)
Mutual labels:  mysql, redis
Blog
Jiajun的编程随想
Stars: ✭ 528 (+2300%)
Mutual labels:  mysql, redis
Lithium
Easy to use C++17 HTTP Server with no compromise on performances. https://matt-42.github.io/lithium
Stars: ✭ 523 (+2277.27%)
Mutual labels:  api-server, mysql
Ibooks
计算机图书,java,mysql,架构类,web
Stars: ✭ 666 (+2927.27%)
Mutual labels:  mysql, redis
Geek Framework
基于SpringBoot+Shiro+Redis+Jwt+Thymeleaf+MyBatis 开发的后台用户、角色、权限、会员管理、RestFul、Token和前台用户登录注册以及前后台用户分离的脚手架,技术交流请加QQ群:805442966
Stars: ✭ 804 (+3554.55%)
Mutual labels:  mysql, redis
Pdf
编程电子书,电子书,编程书籍,包括C,C#,Docker,Elasticsearch,Git,Hadoop,HeadFirst,Java,Javascript,jvm,Kafka,Linux,Maven,MongoDB,MyBatis,MySQL,Netty,Nginx,Python,RabbitMQ,Redis,Scala,Solr,Spark,Spring,SpringBoot,SpringCloud,TCPIP,Tomcat,Zookeeper,人工智能,大数据类,并发编程,数据库类,数据挖掘,新面试题,架构设计,算法系列,计算机类,设计模式,软件测试,重构优化,等更多分类
Stars: ✭ 12,009 (+54486.36%)
Mutual labels:  mysql, redis
Shirojwt
API SpringBoot + Shiro + Java-Jwt + Redis(Jedis)
Stars: ✭ 503 (+2186.36%)
Mutual labels:  mysql, redis
Bifrost
Bifrost ---- 面向生产环境的 MySQL 同步到Redis,MongoDB,ClickHouse,MySQL等服务的异构中间件
Stars: ✭ 701 (+3086.36%)
Mutual labels:  mysql, redis

Go Demo API Server

版本号 说明 更新日期 更新者
V1.0 初版 2018.12.30 杨飞
V1.1 增加对 websocket 服务的支持 2019.05.09 杨飞
V1.2 增加对 restful 请求支持 2019.06.25 杨飞

项目介绍

为了更好了整合本人的技术栈,也为了能够帮助到大家学习go语言,尽快掌握go语言的工程实践。

我通过一个简单的业务demo,也就是用户信息的增删查改,来实现一个golang后端API应用。

主要涵盖了下面这些技术点:

  • 路由
  • 过滤器
  • 日志
  • 静态配置文件
  • 控制器
  • 模型
  • redis缓存
  • MySQL数据库
  • 多国语言处理
  • websocket服务
  • 登录登出功能
  • restful请求

以后可能会增加更多的技术内容进来,比如etcd, nsq等内容,也欢迎大家一起来完善本项目,造福更多的新人朋友。

请注意: websocket 不支持 6666 端口,请不要使用 6666 作为服务器的端口!!!

项目操作

HTTP头部设置要求

key value 必填 说明
x-access-token test Y token,鉴别用户权限。因为是demo, 所以这里是写死的。
accept-language zh-cn N 服务端有多语言支持的时候,会采用这里的语言返回数据。

websocket 请求url

  • 校验令牌,需要通过 url 传参的方式来传递
ws://127.0.0.1:7777/ws/hi?token=test

数据库表结构发生了变化,接口文档作废,待完善。。。

新增用户

  • 方法和路由
POST 127.0.0.1:7777/test/api/v1/user
  • 请求参数
参数 类型 必填 说明
name String N 用户姓名
age Int N 用户年龄
email String N 电子邮件
  • 请求参数demo
{
	"name": "test",
	"age": 18,
	"email": "[email protected]"
}
  • 响应
参数 类型 必填 说明
code String Y 状态码
message Int Y 状态信息
  • 响应demo
{
  "code": 0,
  "message": "用户添加成功!"
}

查询用户

  • 方法和路由
GET 127.0.0.1:7777/test/api/v1/user?id=1
  • 请求参数
参数 类型 必填 说明
id int Y 数据库中生成的用户ID字段
  • 响应
参数 类型 必填 说明
id Int Y 用户ID
name String Y 用户姓名
age Int Y 用户年龄
email String Y 电子邮件
  • 响应demo
{
  "id": 1,
  "name": "test",
  "age": 18,
  "email": "[email protected]"
}

查询用户-分页

  • 方法和路由
GET 127.0.0.1:7777/test/api/v1/users?page_num=1&page_size=5
  • 请求参数
参数 类型 必填 说明
page_num int Y 第几页
page_size int Y 每页有多少条记录
  • 响应
参数 类型 必填 说明
total_num Int Y 一共返回了多少条记录
list []User Y 返回用户列表,如果没有记录返回 null
  • 响应demo
{
  "total_num": 0,
  "list": null
}

修改用户

  • 方法和路由
PUT 127.0.0.1:7777/test/api/v1/user
  • 请求参数
参数 类型 必填 说明
id Int Y 用户ID
name String N 用户姓名
age Int N 用户年龄
email String N 电子邮件
  • 请求参数demo
{
  "id": 1,
  "name": "fei",
  "age": 26
}
  • 响应
参数 类型 必填 说明
code String Y 状态码
message Int Y 状态信息
  • 响应demo
{
  "code": 0,
  "message": "用户更新成功!"
}

删除用户

  • 方法和路由
DELETE 127.0.0.1:7777/test/api/v1/user
  • 请求参数
参数 类型 必填 说明
id Int Y 用户ID
  • 请求参数demo
{
  "id": 1
}
  • 响应
参数 类型 必填 说明
code String Y 状态码
message Int Y 状态信息
  • 响应demo
{
  "code": 0,
  "message": "用户删除成功!"
}

其他

更多内容,陆续添加中,敬请期待。。。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].