【beego简单创建接口和调用404问题】

文章介绍了如何在Beego框架中创建简单的API接口,包括在routers.go中定义路由,controllers文件下编写控制器代码,并展示了测试接口的Get方法。在遇到404错误时,提出了检查app.conf配置、生成路由文件、清理缓存等排查步骤。
摘要由CSDN通过智能技术生成

一,创建简单接口

1.routers.routers.go

routers.go
package routers

import (
	"testapi/controllers"

	beego "github.com/beego/beego/v2/server/web"
)

func init() {
	ns := beego.NewNamespace("/v1",
		//路由 /v1/test
		beego.NSNamespace("/test",
			beego.NSInclude(
				&controllers.TestController{},
			),
		),
		beego.NSNamespace("/test",
			// 路由: /v1/test/test
			beego.NSRouter("/test",
				&controllers.TestTestController{}),
		),
	)
	//注册路由器
	beego.AddNamespace(ns)
}

2.controllers文件下建立test.go和testtest.go(名字自取)

test.go
package controllers

import (
	beego "github.com/beego/beego/v2/server/web"
)

//必须要创建
type TestController struct {
	beego.Controller
}
//下面注释必须要写
// @router / [get]
func (o *TestController) Get() {
	o.Data["json"] = map[string]string{
		"code":    "0",
		"message": "成功",
	}

	o.ServeJSON()
}
testtest.go
package controllers

import beego "github.com/beego/beego/v2/server/web"

//必须要创建
type TestTestController struct {
	beego.Controller
}
//下面注释必须要写
// @router / [get] 
func (o *TestTestController) Get() {
	o.Data["json"] = map[string]string{
		"code":    "0",
		"message": "失败",
	}

	o.ServeJSON()
}

3.运行bee run -gendoc=true -downdoc=true之后,即可正常访问。

二,运行完之后,不能正常访问,报错404,排查方向

在这里插入图片描述
1.注意conf.app.conf文件,必须是dev模式下
在这里插入图片描述
2.查看router下面有无commentsRouter前缀文件
在这里插入图片描述
无文件情况,查看controllers文件夹下面的Controller的相关函数有没有写注释路由,路由格式是否正确
在这里插入图片描述
有文件情况,路由注册没有生效,可能是因为beego版本的原因,可以通过命令生成路由文件

bee generate routers

3.按第二个操作之后,有commentsRouter前缀文件,但是还是没有生效,可以把commentsRouter前缀文件删掉重新生成,尝试一遍

4.以上都尝试了,最后可以尝试清空浏览器或者强制刷新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值