草庐IT

REST-ful

全部标签

rest - Go Gin-Gonic,从 POST 请求中获取文本

我开始使用Go开发一个RESTAPI并打包Gin-Gonic。这个想法是创建一个RESTAPI,它以JSON格式接收POST请求并将此调用重定向到另一个应用程序(也是一个API)。这是一段代码:packagemainimport("fmt""github.com/gin-gonic/gin""net/http")funcmain(){r:=gin.Default()r.GET("/status",func(c*gin.Context){c.String(200,"on")})r.GET("/user/:name",func(c*gin.Context){name:=c.Param("n

rest - 在 gRPC 之上对 REST web 服务进行版本控制

我使用带有ProtocolBuffer的gRPC实现了一个API服务,然后使用grpc-gateway将其公开为一组REST网络服务。现在我已经到了不得不维护不同版本的API的地步,我陷入了困境。在我的原型(prototype)文件中,我有一个像这样定义的处理程序,例如rpcMerchantGet(MerchantRequest)returns(MerchantResponse){option(google.api.http)={get:"/v1.1.0/myapi/merchant/{MerchantID}"};}当然,在我的Go代码中,我有一个函数MerchantGet,GET操作

rest - 在 gRPC 之上对 REST web 服务进行版本控制

我使用带有ProtocolBuffer的gRPC实现了一个API服务,然后使用grpc-gateway将其公开为一组REST网络服务。现在我已经到了不得不维护不同版本的API的地步,我陷入了困境。在我的原型(prototype)文件中,我有一个像这样定义的处理程序,例如rpcMerchantGet(MerchantRequest)returns(MerchantResponse){option(google.api.http)={get:"/v1.1.0/myapi/merchant/{MerchantID}"};}当然,在我的Go代码中,我有一个函数MerchantGet,GET操作

go - 如何使用 REST API 将消息正确发布到简单的 Go Chatserver

我目前正在构建一个支持通过RESTAPI发布消息的简单聊天服务器。example:========```curl-XPOST-H"Content-Type:application/json"--data'{"user":"alex","text":"thisisamessage"}'http://localhost:8081/message{"ok":true}现在,我只是将消息存储在消息数组中。我很确定这是一种低效的方式。那么有没有一种简单、更好的方法来使用goroutines和channel来获取和存储消息,这将使它成为线程安全的。这是我目前拥有的:typeMessagestruc

go - 如何使用 REST API 将消息正确发布到简单的 Go Chatserver

我目前正在构建一个支持通过RESTAPI发布消息的简单聊天服务器。example:========```curl-XPOST-H"Content-Type:application/json"--data'{"user":"alex","text":"thisisamessage"}'http://localhost:8081/message{"ok":true}现在,我只是将消息存储在消息数组中。我很确定这是一种低效的方式。那么有没有一种简单、更好的方法来使用goroutines和channel来获取和存储消息,这将使它成为线程安全的。这是我目前拥有的:typeMessagestruc

rest - 如何确定我应该从 golang API 返回哪种错误消息?

我有一个带有SPA的GoLangAPI来使用它。我对我的API中的错误所做的是返回它们,直到我测试是否存在以前函数的错误的处理程序。如果有错误,我将它放在响应主体中,将状态代码设置为400或500,然后返回响应在处理函数中,为了能够向客户端创建清晰的消息,我需要知道返回了什么样的错误,我该怎么做?我知道错误类型,但我读到了DaveCheney的建议,即只返回错误和消息(或换句话说将它们包装起来)。但是如果API调用中可能会出现这么多错误,那是不是意味着在返回响应之前,我需要将它们都检查一遍才能知道我应该返回什么消息? 最佳答案 首先

rest - 如何确定我应该从 golang API 返回哪种错误消息?

我有一个带有SPA的GoLangAPI来使用它。我对我的API中的错误所做的是返回它们,直到我测试是否存在以前函数的错误的处理程序。如果有错误,我将它放在响应主体中,将状态代码设置为400或500,然后返回响应在处理函数中,为了能够向客户端创建清晰的消息,我需要知道返回了什么样的错误,我该怎么做?我知道错误类型,但我读到了DaveCheney的建议,即只返回错误和消息(或换句话说将它们包装起来)。但是如果API调用中可能会出现这么多错误,那是不是意味着在返回响应之前,我需要将它们都检查一遍才能知道我应该返回什么消息? 最佳答案 首先

rest - 在 golang 中使用全局变量

我有一个全局变量,我试图在两个不同的函数中使用它,但无法弄清楚为什么以下代码不起作用...packagemainimport("github.com/ant0ine/go-json-rest/rest""log""net""net/http")typeMessagestruct{Bodystring}varapirest.ApifunchostLookup(wrest.ResponseWriter,req*rest.Request){ip,err:=net.LookupIP(req.PathParam("host"))iferr!=nil{rest.Error(w,err.Error(

rest - 在 golang 中使用全局变量

我有一个全局变量,我试图在两个不同的函数中使用它,但无法弄清楚为什么以下代码不起作用...packagemainimport("github.com/ant0ine/go-json-rest/rest""log""net""net/http")typeMessagestruct{Bodystring}varapirest.ApifunchostLookup(wrest.ResponseWriter,req*rest.Request){ip,err:=net.LookupIP(req.PathParam("host"))iferr!=nil{rest.Error(w,err.Error(

rest - 文件上传后为空响应

我在Go中编写了一个小型RESTapi,我正在使用相同的函数返回带有状态代码和消息的http.Response:typeapiResponsestruct{Statusint`json:"status"`Messagestring`json:"message"`}我正在将其编码为json字符串并使用w.Write()将其放入响应中。该API具有三个端点,其中之一允许用户上传文件。两个工作非常好,我得到了我期望的回应。上传端点返回一个有效响应,其中的Content-Length与我期望的消息匹配,但是当我读取它时(使用ioutil.ReadAll),它是空的!我做错了什么?这是读取正文的