草庐IT

api接口

全部标签

node.js - 从不同的包实现接口(interface)(从其他模块回调)

在NodeJS中,我可以在一个地方声明一个回调并在一个地方使用它,以避免破坏项目的结构。A.jsmodule.exports=classA(){constructor(name,callback){this.name=name;this.callback=callback;}doSomeThingWithName(name){this.name=name;if(this.callback){this.callback();}}}B.jsconstA=require(./A);newA=newA("KimKim",()=>console.log("SayOyeah!"));在Go中,我也

函数接受抽象接口(interface)和函数接受结构实现之间的golang转换

我在不同版本的实现之上创建层时遇到的问题。目标是抽象出实现细节,调用者不需要关心我们使用的是哪个实现。请看代码示例here^代码更能说明我遇到的问题。我们有两个版本的Stream实现Stream1和Stream2。它们有一个共同的接口(interface)Stream。它们都有相应的BindStreamHandler函数接受StreamHandler1或StreamHandler2。我们有一个函数BindStreamHandler,以及一个funcStreamHandlerImpl(sStream)的通用实现。无论我们使用Stream1还是Stream2,一般的实现都是一样的。现在我遇

rest - 从 go 代码调用用 java 编写的 rest API

我是Golang的新手。我正在编写一个go客户端,我试图在其中调用服务器中的一堆RESTAPI该用例应使用哪些其余客户端/库谢谢! 最佳答案 Golang带有原生的"net/http"包,您可以使用它来请求RESTAPI 关于rest-从go代码调用用java编写的restAPI,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/56019549/

go - 我有一张用户表。我想编写一个 API 来使用 id 获取数据。我不断收到以下错误。请注意,数据库已经满了

我有一张用户表。我想编写一个API来使用id获取数据。我不断收到以下错误。请注意,数据库已经满了。我想创建一个获取api,我在其中传递id并作为结果获取该行。我已经尝试了一些事情,但我一直收到此错误。数据库架构-deadpool=#\duser_dataTable"public.user_data"Column|Type|Collation|Nullable|Default--------------------+--------------------------+-----------+----------+-------------------------------------

api - GoLang/Mux 语法问题 : if ID, Ok = mux.Vars(r) ["ID"]; !行

我是Golang的新手,我正在阅读某人使用gorilla/mux编写的API代码,我遇到了这段代码。funcheroGet(whttp.ResponseWriter,r*http.Request){varIDstringvarOkboolifID,Ok=mux.Vars(r)["ID"];!Ok{//dosomething}我无法理解Ok在这种特定情况下的作用以及何时触发!Ok。请注意,此函数是GET端点。(r.HandleFunc("/hero/{ID}",heroGet).Methods("GET")) 最佳答案 我假设您使用的

go - 如何修复 `can' t 在 helm 中的 _helpers.tpl 中评估类型接口(interface) {}` 中的字段 extraHosts

我正在尝试从_helpers.tpl中Helm的Umbrella图表中获取一些值但出于某种原因我收到错误executing"gluu.ldaplist"at:can'tevaluatefieldextraHostsintypeinterface{}这就是我想要做的。_helpers.ptl{{-define"gluu.ldaplist"-}}{{-$hosts:=.Values.ldap.extraHosts-}}{{-$genLdap:=dict"host"(printf"%s-%s".Release.Name.Values.ldapType)"port".Values.ldapPo

go - []接口(interface){}的元素类型

如何获取[]interface{}的运行时元素类型?我尝试了以下测试。vardatainterface{}temp:=make([]interface{},0)temp=append(temp,int64(1))data=tempelemType:=reflect.TypeOf(data).Elem()switchelemType{casereflect.TypeOf(int64(1)):logger.Infof("type:int64")default:logger.Infof("default%v",elemType.Kind())//"default"ismatchedinfac

go - 如何优化向 API 发出请求的 for 循环?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我的Go代码中有一个for循环。每次迭代都会向某个API发出请求,然后将其结果保存在map中。如何优化性能以便异步调用迭代?我目前正在研究goroutines和channel等等,但我仍然无法在野外应用它:)results:=map[string]ResultforID,person:=rangepeople{result:=someApiCall(person)results[ID]=result}//

mongodb - 当我尝试调用 API 时,本地服务器返回 "http: panic serving [::1]:52781: runtime error: invalid memory address or nil pointer dereference"

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭3年前。Improvethisquestion我按照指南在这里编写了mongodbAPI:https://www.thepolyglotdeveloper.com/2019/02/developing-restful-api-golang-mongodb-nosql-database/指南的代码运行

rest - golang restful api中的全局变量

我们在golang中使用net/http包创建了一个postrestapi,并使用gorilla/mux作为请求路由器和调度程序。api将一个对象作为输入,假设x并将其设置为全局变量,并且通过其操作过程,api使用该对象中的值并提供结果。现在一切正常,直到我们发现当多个请求命中api时,其他请求修改了全局对象。例如,假设我发送了x=5的请求,并且在该请求结束之前进入另一个请求并设置x=10,这导致第一个请求的多个结果为x=5,另一个为x=10。我的问题是,我可以为每个请求设置一个全局变量吗?我知道session似乎是一个直截了当的答案,但它是否正确,因为它是一个RESTapi,它应该是