每天花1,2个小时学习了一下go语言基础和beego框架,在公司的go语言项目写几个简单的接口(返回Json格式数据),写的比较简陋,只展示了controller层/service层/model层,还希望大家多多指教:
先看看效果(预先需要安装各种组件或拓展):bee run
postman里调试接口: http://localhost:8090/api/v1/product/products?category_id=7
ProductController.go 代码
package api
import (
"fmt"
"encoding/json"
"gitlab.com/xxxxx/xxxxx/src/v1/drivers/nblogs"
"gitlab.com/xxxxx/xxxxx/src/v1/errno"
"gitlab.com/xxxxx/xxxxx/src/v1/http/requests"
"gitlab.com/xxxxx/xxxxx/src/v1/http/resources"
"gitlab.com/xxxxx/xxxxx/src/v1/models"
"gitlab.com/xxxxx/xxxxx/src/v1/services"
)
type ProductController struct {
BaseController
}
// 获取服务项目列表
func (this *ProductController) GetProductList() {
categoryId, err := this.GetInt64("category_id") //7
if(err != nil){
nblogs.Error(err)
this.Error(errno.ErrNotFound)
}
result, err := services.GetProductList(services.Params{"category_id":categoryId}, this.AuthUser)
if(err != nil){
nblogs.Error(err)
this.Error(errno.ErrNotFound)
}
fmt.Println(result)
data := resources.NewProductCollection(result, this.AuthUser).ToArray()
this.Success(struct {
Data interface{} `json:"data"`
}{Data:data})
}
productService.go 层代码:
package services
import (
"github.com/xxxxx/beego/orm"
"gitlab.com/xxxxx/xxxxx/src/v1/drivers/nblogs"
"gitlab.com/xxxxx/xxxxx/src/v1/errno"
"gitlab.com/xxxxx/xxxxx/src/v1/helpers"
"gitlab.com/xxxxx/xxxxx/src/v1/models"
"gitlab.com/xxxxx/xxxxx/src/v1/utils/util_time"
"time"
)
type CreateProductAttributes struct {
CategoryId int64 `json:"category_id"`
Name string `json:"name"`
SubName string `json:"sub_name"`
InnerServiceTime int `json:"inner_service_time"`
Price float64 `json:"price"`
EarnestAmount float64 `json:"earnest_amount"`
}
// 获取服务项目列表
func GetProductList(params Params, user *models.User, columns ...string) (data []models.Product, err error) {
db := GetOrm()
qs := db.QueryTable(new(models.Product)).Exclude("is_deleted", 1)
if _, has := params["category_id"]; has {
categoryId := params["category_id"].(int64)
qs = qs.Filter("category_id", categoryId)
}
_, err = qs.OrderBy("sort").All(&data, columns...)
if err != nil {
nblogs.Error(err)
return
}
return
}
model/product.go model层代码:
package models
import "time"
// 服务项目模型
type Product struct {
Id int64 `json:"product_id"`
Code string `json:"code"`
CategoryId int64 `json:"category_id"`
Name string `json:"name"`
SubName string `json:"sub_name"`
LogoUrl string `json:"logo_url"`
....
}
每行的代码注释解释就不多注解了,大家可自行google
其他接口:如"修改服务项目","获取项目详情"等接口,时间关系会在后面的博客中体现,谢谢大家
相关推荐
- 文档编辑器:提供一个友好的界面,支持Markdown或自定义格式,用于编写接口描述、请求参数、响应数据等。 - API预览与测试:允许用户在文档中直接测试接口,验证其功能正确性。 - 版本控制:保存不同版本的文档...
本文档将全面解析beego框架的核心特性、设计理念以及如何利用它进行实际项目开发。 1. **简介** beego借鉴了Python的Django框架的MVT(Model-View-Template)模式,同时也引入了RESTful设计原则,使得API设计更加...
- 编码实现:利用Go语言和Beego框架编写代码,实现各个模块的功能。 - 测试验证:进行单元测试、集成测试,确保各部分功能正常运行。 - 部署上线:配置服务器环境,将项目部署到生产环境,并进行性能监控和优化。...
在本项目中,我们主要探讨的是如何使用Go语言的beego框架进行后端开发,并结合Vue.js进行前端构建,以创建一个类似于Google任务日历的应用。这个应用旨在提供任务管理功能,让用户能够方便地创建、编辑和跟踪他们的...
在本项目中,我们关注的是一个使用Go语言和Beego框架构建的智能门锁服务器的源代码实现。Go语言,也称为Golang,是Google推出的一种静态类型、编译型的编程语言,以其高效的性能、简洁的语法和内置的并发支持而受到...
"Go-CMS:基于Beego框架的CMS系统"是一个开源项目,它利用了Go语言的强大性能和Beego框架的灵活性,为开发者提供了一种高效、易用的内容管理系统(CMS)解决方案。Go-CMS旨在简化网站内容的管理、发布和维护,尤其适合...
该项目是一款基于Vue与Beego框架构建的ido桌面工具源码,包含170个文件,涵盖60个Vue组件、40个JavaScript脚本、22个SVG图形、19个PNG图像、7个GIF动画、6个MP3音频、4个JPG图片、3个JSON配置文件,以及babelrc和...
1. **beego框架概述** beego是一个轻量级且强大的Web框架,它简化了Go语言在Web开发中的复杂性,通过提供一套完整的MVC(模型-视图-控制器)架构,使得开发者可以快速地搭建和维护Web应用。beego的设计灵感来源于...
**beego 框架详解** `beego` 是一个基于 Go 语言的高效开源 Web 开发框架,它为开发者提供了 MVC(Model-View-Controller)架构,使得 Go 语言在 Web 开发中的应用变得更加简单和高效。在 `beego-1.9.2.zip` 压缩包...
通过这个项目,我们可以深入学习Go语言的Web开发,理解如何使用Beego框架,以及如何与第三方API进行有效交互。此外,还能提升对数据库操作、错误处理、性能优化和安全性设计等方面的能力。总之,"Go-shrot-url"是一...
beego admin 是一个基于 Go 语言的 web 开发框架 beego 设计的后台管理系统,而 rbac-admin 指的是角色基础的访问控制(Role-Based Access Control),这是一种常用的权限管理模型。 【beego admin】 beego 是一个...
1. **Beego框架**:了解其核心结构,如路由设置、中间件、控制器、模型和视图的编写方式。 2. **数据库交互**:通过查看ORM代码,学习如何使用Beego的orm库进行数据操作,包括增删改查和事务处理。 3. **用户认证与...
这个项目旨在帮助开发者了解如何在Go语言环境下,利用beego框架搭建一个具有实际商业价值的电商网站。通过学习这个demo,开发者可以掌握beego的路由、模板渲染、数据库交互以及API设计等核心功能。 【标签】"go语言...
【任务管理系统总体代码-基于Beego框架】 在IT领域,任务管理系统是一种用于组织、跟踪和管理项目任务的应用程序。这个特定的"TaskManagementSystem_Api"是基于Beego框架实现的,Beego是一个高效的Go语言Web开发...
**beego框架详解** beego是一个专为Go语言设计的高性能Web开发框架,它为Go程序员提供了一套全面且便捷的工具集,旨在简化Web应用的构建过程。beego的设计灵感来自于Python的Django框架,它结合了MVC(Model-View-...
#### 一、beego框架简介 - **定义与功能**:beego是一款基于Go语言的高效HTTP框架,主要用于快速开发API接口、Web应用及后端服务。它遵循RESTful设计理念,能够帮助开发者快速构建稳定且高性能的应用程序。 - **设计...
本项目是一款基于Beego框架实现的文章管理系统,旨在帮助用户方便地创建、编辑、管理和分享文章。下面,我们将详细探讨Beego框架以及在这个系统中可能涉及的关键技术点。 **Beego框架** 1. **简介**: Beego是一个...