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

一,创建简单接口

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.以上都尝试了,最后可以尝试清空浏览器或者强制刷新

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Java 来创建 WebService 接口,以便外部系统可以调用。下面是一个简单的示例: 1. 首先,你需要导入相关的库和类。在 Java 中,你可以使用 JAX-WS(Java API for XML Web Services)来创建和发布 WebService。确保你已经正确导入了相关的库。 2. 创建一个 Java 类,并在类上添加 `@WebService` 注解。这个注解将告诉 JAX-WS 框架该类是一个 WebService 端点。 ```java import javax.jws.WebService; @WebService public class MyWebService { // 添加 WebService 方法和逻辑 } ``` 3. 在类中添加 WebService 方法并实现相应的业务逻辑。这些方法将作为接口暴露给外部系统进行调用。 ```java @WebService public class MyWebService { public String sayHello(String name) { return "Hello, " + name + "!"; } // 添加其他方法 } ``` 4. 使用 JAX-WS 提供的工具将该类发布为 WebService。你可以使用 `Endpoint.publish()` 方法来实现这一点。 ```java import javax.xml.ws.Endpoint; public class WebServicePublisher { public static void main(String[] args) { String url = "http://localhost:8080/mywebservice"; // 指定发布的地址 // 创建 WebService 实例 MyWebService webService = new MyWebService(); // 发布 WebService Endpoint.publish(url, webService); System.out.println("WebService 已发布,访问地址为:" + url); } } ``` 5. 运行 `WebServicePublisher` 类,这将启动一个 Web 服务器,并将你的 WebService 接口发布到指定的地址。 现在,你的 WebService 接口已经创建并可以被外部系统调用。其他系统可以通过访问 `http://localhost:8080/mywebservice` 来访问该接口,并使用相应的方法进行交互。记得将 `http://localhost:8080/mywebservice` 替换为你实际发布的地址。 请注意,以上只是一个简单示例,你可以根据自己的需求来扩展和定制你的 WebService 接口

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值