草庐IT

POST-API

全部标签

json - 使用 Go 的 restful Web 服务的 POST 方法(对于 JSON)的 Curl 命令的 500 内部服务器错误

有一个名为countries.go的文件它导入包github.com/ant0ine/go-json-rest/rest。引用代码来自https://gowalker.org/github.com/ant0ine/go-json-rest#countries国家部分:POSTDELETE等演示当我尝试使用命令时curl-i-d'{"Code":"FR","Name":"France"}'http_URL它给了{“错误”:“寻找值开头的无效字符‘\’”我已经使用了上面给出的包。似乎在request.go中给出的方法是DecodeJsonPayload(),它为JSON实现unmarsha

go - 如何在 Google Drive Go API 调用中设置字段参数?

如上所解释https://developers.google.com/drive/web/performance#partial-responseOnce可以设置HTTP请求的“字段”参数以获得仅包含明确请求的字段的部分响应。有很多关于如何使用Python等语言执行此操作的示例,但我找不到任何使用GoAPI的示例。FilesListCall类型没有允许执行此操作的方法,而且我也找不到任何其他方法来调整GoAPI发送的HTTP请求。有没有办法做到这一点,或者我们是否应该传输大量不需要的数据? 最佳答案 正如Intermernet所解释

angularjs - 从 POST 返回 ID

我已经在angularjs中构建了一个网络应用程序,并使用Go和AppEngine构建了一个服务层,但我遇到了一个障碍。Angular似乎无法识别HTTP状态201(已创建),也无法识别它填充的Locationheader和gorest到目前为止,我一直在使用的库不会为POST或PUT返回任何正文数据,除了201Create响应中的header。我希望能够将新项目添加到我的应用程序中的集合中,并让服务器使用它的唯一ID进行响应。我可以在POST返回后发出单独的GET请求,但那样效率低下且困惑。我还可以修复gorest代码以允许正文响应非GET动词,但这可能是我违反了惯用标准。这里有什么

go - 无法使用远程 api 从 go 连接到谷歌云数据存储

我使用以下go代码(大部分借自go_appengine/demos/remote_api/datastore_info.go):packagemainimport("net/http""net/http/cookiejar""net/url""regexp""io/ioutil""log""errors"//"appengine""appengine/remote_api""appengine/datastore""fmt")typeCustomTypestruct{FirstNamestringLastNamestring}funcclientLoginClient(host,ema

go - 使用 code.google.com/p/google-api-go-client/youtube/v3 的 YouTube v3 api

尝试从我的channel获取上传列表,但出现错误“ChannelContentDetails没有上传字段或方法”apiCall:=youtube.Channels.List("contentDetails").Mine(true)response,err:=apiCall.Do()iferr!=nil{log.Fatalf("ErrormakingAPIcall:%v",err.Error())}fmt.Println(response.Items[0].ContentDetails.uploads) 最佳答案 response.I

戈朗 : Testing API using httptest returns 404

我正在尝试测试我编写的与外部API对话的库。我想出了这段代码:import("fmt""net/http""net/http/httptest""net/url""testing")var(//muxistheHTTPrequestmultiplexerusedwiththetestserver.mux*http.ServeMux//clientistheGitHubclientbeingtested.client*Client//serverisatestHTTPserverusedtoprovidemockAPIresponses.server*httptest.Server)fu

api - Go - 中间件阻止每个请求的 MIME 类型

我修改了thistutorial的中间件|检查所有PUT和POST请求的JSONMIME类型。但是中间件似乎每次都以“不支持媒体类型”作为响应。我在下面尝试了curl命令,我在其中明确设置了正确的MIME类型。我打印每个请求客户端的Content-Typeheader字段,该字段始终为“text/plain;charset=utf-8”。中间件:funcEnforceJSON(hhttprouter.Handle)httprouter.Handle{returnfunc(rwhttp.ResponseWriter,req*http.Request,pshttprouter.Params

go - 构建后如何从API获取Docker镜像ID?

根据theDockerv1.18APIdocumentation,/build方法接受TAR流(带有Dockerfile)并尝试构建镜像。但是,除非我遗漏了什么,否则似乎无法在构建过程完成后获取图像ID。例如,我使用的是go-dockerclientlibrary连接到DockerAPI并使用以下代码片段构建镜像://...opts:=docker.BuildImageOptions{Name:"test-image",InputStream:input,OutputStream:output,}iferr:=client.BuildImage(opts);err!=nil{fmt.P

paypal - 在 PayPal Classic API 中获取付款人信息

目前我正在使用PayPal的经典API创建一次性付款,但是当我调用GetExpressCheckoutDetails时,我没有收到有关付款人的任何信息。注意:我使用GoogleGo作为编程语言 最佳答案 这取决于您调用GetEC的时间。GetEC(GetExpressCheckoutDetails)不一定回复付款人信息,因为付款人可能不在场。付款人信息和付款人ID仅在付款人同意付款后可用(他/她登录PP并填写正确的信息并单击“继续”或“付款”按钮),这意味着在这种情况下您将调用GetECAFTER付款人同意付款并返回您的系统以获得D

linux - 从 Go 访问 Linux 网络 API

我想用Go编写一个简单的实用程序来管理Linux上的网络(有线和无线)连接,类似于NetworkManager和WICD的软件。在Go中访问LinuxAPI的正确方法是什么?我应该使用C绑定(bind)和nativeLinuxAPI调用、执行命令并解析其输出,还是可能有一些库旨在执行我想执行的操作? 最佳答案 您很可能想使用cgo因为调用任何CAPI真的很容易一个额外的好处是,随着时间的推移,CAPI通常非常稳定,因为库创建者几乎总是选择新函数而不是破坏现有函数的API。运行命令行工具和解析输出很容易出错,因为您调用的软件很可能会超