Recurly PUT请求工作但返回服务器错误
我正在实施反复的API( http://docs.recurly.com/api )在C#/.网络中,尽管缺乏对v2的.NET支持. ,它的发展效果非常好. 我已经成功地实现了大多数API,但是在使用PUT请求修改或更新用户帐户时遇到了问题. 我的获取和发布请求完美地工作,我将收到帐户创建的httpstatuscode 200,并为我"获取"的任何数据接收适当的XML. 但是,当我尝试使用put请求重新激活订阅时,recurly 中的订阅do 会根据要求重新激活,但是我得到的响应是http status code 500: The server encountered an error while processing your request and failed. 我相信此问题与以下代码定义request.ContentLength = 0;有关 但是,没有指定或发送请求的实际内容. 定义之前ContentLength = 0订阅不会重新激活,我会得到
12 2024-04-26
编程技术问答社区
带有ID Param的GET请求和PUT请求不会影响我的模型类中的模型类。
我用ID作为参数的GET请求无法正确加载我的所有数据.我的PUT请求根据Swagger成功地改变了数据,但随后Get请求表明没有进行任何更改.我使用参数的获取请求说我的播放器数据不应该是无效.我的正常get请求正确加载了数据,除非PUT请求中的数据在播放器中更改某些内容[].请参阅下面的代码. 玩家模型: public class Player { public long Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } 团队模型: public class Team { public long Id { get; set; } public string Name { get; set; } public string Location { get; set; } publ
8 2024-04-24
编程技术问答社区
ASP.NET Web API的PUT与全面的路径
使用新的Web API,是否可以使用 的所有捕获路线 routes.MapHttpRoute( name: "name", routeTemplate: "api/{*id}", defaults: new { controller = "mycontroller", id = RouteParameter.Optional} ); 使用PUT方法?通常使用put方法 public HttpResponseMessage Put(string id, string body) { ... } 其中body是PUT请求的主体.但是,对于所有捕获路线,这似乎都行不通,我正在收到错误 { "ExceptionType":"System.ArgumentException", "Message":":"No 'MediaTypeFormatter' is available to read an object of type 'S
10 2024-04-23
编程技术问答社区
如何使用ASP.Net WebApi重载方法?
我有一种情况,我有两种方法接受POCO和我的控制器类中的POCO列表: [AcceptVerbs("PUT")] [ActionName("Item")] public void SaveItem([FromBody] Item item) { m_controller.SaveItem(item); } [AcceptVerbs("PUT")] [ActionName("Items")] public void SaveItems([FromBody] List items) { m_controller.SaveItem(items); } 我的路由表看起来像: routes.MapHttpRoute("Item Route", "api/item/{orderId}", new {
6 2024-04-19
编程技术问答社区
C# HttpClient PUT
由于某些原因,我以下代码现在正常工作,因此提出了一个例外: public static async Task HttpPut(string inUrl, string inFilePath) { using (var handler = new HttpClientHandler { AllowAutoRedirect = false }) { using (var client = new HttpClient(handler)) { //var content = new StreamContent(new FileStream(inFilePath, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 4096, use
2 2024-04-18
编程技术问答社区
错误。C# 基础连接已关闭。无法为SSL/TLS安全通道建立信任关系
我正在尝试通过SSL提出请求.该证书已经安装在机器上,可以通过浏览器工作. 我正在使用此请求: System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); byte[] data = encoding.GetBytes(request.Content.OuterXml.ToString()); string password = "XXXX"; X509Certificate2 cert = new X509Certificate2("c:\\zzzz.p12", password); string key = cert.GetPublicKeyString(); string certData = Encoding.ASCII.GetString(cert.Export(X509ContentType.Cert)); Uri uri = new Uri(request.Url); HttpWe
8 2024-04-17
编程技术问答社区
得到 "实体类型<model>不属于当前上下文的模型"。
我使用Web API在ASP.NET中一次更新数据库1列.我正在尝试查询一个提示,以更新行中的一个值,而不是更新该值并将其余的设置为null.我在控制器之外制作了一个单独的型号,以便进行更新,以便一次可以做一个.当我在控制器中击中此行db.Entry(user).State = EntityState.Modified;时,它是错误的.有什么建议我如何解决此问题? 这是我在看法中所接受的单独的ViewModel: namespace WebAPI.Models.ViewModels { public class UserViewModel { public string FirstName { get; set; } public string LastName { get; set; } } } 这是我的控制器在我的参数中使用ViewModel的方法中调用: public HttpResponseMessag
14 2024-04-14
编程技术问答社区
一个使用C语言的原始libcurl JSON PUT请求
我目前正在写一个只需要提出请求的类似休息的客户. 问题: 运行该程序没有给我在URL的API上获得正确的结果,我不知道为什么. 使用curl_easy_perform(curl)在调用时不会丢失错误.但是预期的结果未在URL的API上产生. 使用curl_easy_send(curl,..,..,..)抛出:不支持协议错误 假设: 我假设我使用curl_easy_opts的顺序是一个问题吗?而且我什至缺少几条关键行? 我一直在这里阅读其他人如何提出请求并使用其方法. 程序摘要: 我的程序会提示用户获取一些字符串/字符数据,因此,我自己构造了字符串,例如标题和有效负载.标题和有效载荷均为JSON格式,但有效载荷只是一个字符串(在这种情况下,char *str =(char *)mallo ..等).标题的构造方式如下所示. 使用 构建我的标题 struct curl_slist *headers = NULL; headers = c
10 2024-04-09
编程技术问答社区
Boto DynamoDB2的条件性put_item
我正在尝试让put_item检查是否有相同的hashkey项目,然后再实际添加新项目. 根据boto dynamodb2文档,可以使用"有条件put"进行. 我尝试了关注命令,但没有运气. connection.put_item('table',item={'locationId':'a1', 'timestamp': time.time()}, expected={'locationID':False}) 错误消息如下. boto.exception.JSONResponseError: JSONResponseError: 400 Bad Request {u'Message': u'Expected null', u'__type': u'com.amazon.coral.service#SerializationException'} 有人是否有DynamoDBV2有条件的提议? 感谢所有人. 解决方案 您需要像这样编写它才能使语法工
14 2024-04-03
编程技术问答社区
我可以使用api在shopify博客上更改日期吗?
我一定是短暂的,没有太多时间... 我正在尝试回顾一些在我们商店发行的布局中写的博客文章. 我正在使用命令行中的卷曲,我可以发布新的博客文章,我可以对现有博客文章进行更改,但我无法调整现有文章的日期. 你能帮我吗? 谢谢! 这是我的卷曲请求... curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X PUT -d '{ "article": {"id": xxxxxx, "created_at": "2012-08-25"}}' https://key:passwordlongstringhere@storename.myshopify.com/admin/blogs/#blogID/articles/#articleID.json 是的,所有适当的xxxx和#blogid在我​​的请求中都有正确的信息. 解决方案 无法通过API或管理员设
14 2024-04-01
编程技术问答社区
用jersey jaxrs-ri-2.01的HTTP PUT上传二进制数据
我正在使用jaxrs-ri-2.01 我想在我的http put请求正文中发送的二进制数据中获取一个参数. 我找到了一个应有技巧的注释: @FormDataParam ,但似乎无法用于JAXRS-RI-2.01 我想知道: 如果有一种方法,我可以使用此JAXRS-RI版本 如果必须将JAXRS-RI版本更改为最新版本 如何使用此注释 预先感谢您的回答! 解决方案 如果有一种方法,我可以使用此JAXRS-RI版本 您需要jersey-media-multipart.这具有多部分支持.如果您使用的是Maven,请添加 org.glassfish.jersey.media jersey-media-multipart 2.0.1
12 2024-03-30
编程技术问答社区
python。带有二进制数据的HTTP PUT
所以我改编了urllib2,如回答了另一个问题: class HttpRequest(urllib2.Request): def __init__(self, *args, **kwargs): self._method = kwargs.pop('method', 'GET') urllib2.Request.__init__(self, *args, **kwargs) def get_method(self): return self._method ,它适合与JSON合作: req = HttpRequest(url=url, method='PUT', data=json.dumps(metadata)) response = urllib2.urlopen(req) 但是它因data=二进制数据而失败(下面的部分堆栈): File "c:\appl\python\2.7.2\lib\urllib2.py"
4 2024-03-30
编程技术问答社区
python。用未编码的二进制数据进行HTTP PUT
我一生都无法弄清楚如何使用标准Python库中的python 2.7中的逐字二进制数据进行HTTP请求. 我以为我可以使用urllib2做到这一点,但是失败了,因为Content-Type: application/octet-stream Content-Length: (whatever my binary data length is) 这似乎是如此简单,但是我一直在圆圈转弯,似乎无法弄清楚如何. 我该怎么做? (除了打开原始二进制插座并写信给它) 解决方案 我发现了我的问题.在 urllib2.Request(url, data, headers)构造函数似乎期望其URL和数据参数中的字符串类型相同. i是从文件read()呼叫中提供数据参数原始数据(在Python 2.7中以"纯"字符串的形式返回它),但是我的URL意外是Unicode,因为我串联了一部分URL从返回Unicode字符串的另一个函数的结果. ,它不是尝试从Unicode->
6 2024-03-30
编程技术问答社区
如何在不同的子域上从Backbone应用POST、PUT和DELETE到Rails应用?
哪种是在不同子域中发布,放置和删除从Backbone应用到Rails应用程序的最佳方法? 我试图用Rails App中的主链获取一些数据,并且可以使用. 我试图用骨干为Rails App保存新内容. 我在put(在数据库中更新创建的模型)有真正的问题. 我不知道为什么,但是当我在骨干应用中进行类似的事情时: book.save() 这本书是数据库中已经存在的模型;它没有向Rails应用发送PUT请愿,而是发送选项请愿书,而没有数据. 理想情况下,我想从骨干应用程序发送一个请愿书到Rails应用程序,以便我可以在Rails应用程序中执行此类操作: book.update_attributes params [:book] Rails App和Backbone应用在同一顶级域上的不同子域上. 解决方案 对于未发布或获取的方法,客户端将发送选项请求以确定允许的跨域. 您需要两件事. 您需要一种使用正确的响应标头响应的方法,以告诉客户跨域是可以的.我在
4 2024-03-26
编程技术问答社区
Backbone.save POST而不是PUT
只是一个简短的问题: 拥有模型的新实例并发出model.save(),将URL设置为/api/store/category,骨干发出了帖子.据我所知,它应该使用put,如此" put或post:故事的其余部分" 博客文章. 谁是对的? BB或本文的作者? 解决方案 根据 保存 model.save([属性],[options]) ... 如果模型是新的,则保存将是"创建"(HTTP帖子),如果模型已经 存在于服务器上,保存将是一个"更新"(http put). 如果您想知道骨干是否应该使用帖子进行创建,请检查 将vs vs Post放在休息 根据这些文章,我会说,在主链的背景下,动词正确使用: 保存新模型会导致系统的更改,添加了新的URL,操作不是愿意的,它应该是帖子, 保存已知模型在给定的URL上替换资源,操作是愿意的,应该是一个.
12 2024-03-26
编程技术问答社区
在REST api调用Azure存储中的PUT Blob时认证失败[REST][Azure Blob]
我正在尝试提出一个put请求以创建一个azure blob,但它使auth失败了. 我认为我在制定资源字符串或标题时犯了一些错误. 这是代码 const CryptoJS = require("crypto-js"); const request = require("request"); require("dotenv").config(); var parser = require("xml2json"); const account = process.env.ACCOUNT_NAME || ""; const key = process.env.ACCOUNT_KEY || ""; var containerName = "demo"; var strTime = new Date().toUTCString(); string_params = { 'verb': 'PUT', 'Content-Encoding': '', 'Content-La
6 2024-03-24
编程技术问答社区
未经授权的axios投放请求,没有数据
我想将Axios发送请求将请求发送到我的后端,但是未经授权的错误不断出现 错误: PUT http://localhost:5000/api/items/unlike/5ef9e8176b04a67fe823bf5e/S 401 (Unauthorized) 在我的提议请求下,我将变量(衣服ID和尺寸)附加到请求URL中,因此我没有请求主体.这是我的代码. 前端: toCart = () => { let self = this; let config = { headers: { "Content-Type": "application/json", "x-auth-token": this.state.token, }, }; // config = JSON.stringify(c
6 2024-03-23
编程技术问答社区
如果我同时更新一个时间戳属性,我应该使用PUT方法进行更新吗?
根据休息样式,通常假定HTTP帖子,获取,放置和删除方法应用于创建,读取,更新和删除(crud)操作. 但是,如果我们坚持HTTP方法定义,则可能不太清楚. 在 简而言之:当您且仅当您都知道资源所在的URL以及资源的全部内容时使用put.否则,使用帖子. 主要是因为 put是一个更加限制的动词.它需要一个完整的资源并将其存储在给定的URL上.如果以前有资源,它将被替换;如果没有,将创建一个新的.这些属性支持IDEMPOTENCE,幼稚的创建或更新操作可能不会.我怀疑这可能就是为什么定义put的原因.这是一个愿意的操作,允许客户端将信息发送到服务器. 就我的情况而修改和操作时间. 我想知道您的意见,因为严格地说这两列不是资源的一部分,但是它们确实阻止了操作是愿意的. 解决方案 忽略有关HTTP方法的REST样式映射CRUD的评论,这是一个很好的问题. 您问题的答案是,是的,即使服务器的一些元素以非数字方式更新,您可以在这种情况下自由使用.
8 2024-03-19
编程技术问答社区
哪种REST操作(GET、PUT或POST)用于验证信息?
我的用户在iOS应用中输入一些信息字段. 此信息必须在我的服务器上进行验证,该服务器具有RESTFUL API. 验证后,iOS应用程序的UI更改以指示结果. 既不适合,因为我没有获得资源,也不是创建或更新的资源. 实施此验证的最佳拟合REST操作是什么? 解决方案 我的用户输入在iOS应用中的一些信息字段.此信息 必须在我的服务器上进行验证,该服务器具有RESTFUL API.后 验证iOS应用程序的UI更改以指示结果. 没有获得资源,也不是创建或更新的资源. 由于您没有保存任何东西(没有修改任何资源),我认为这在技术上比对我的RPC更重要. 以下是我的看法,所以不要把它当作福音: 如果信息只是被提交,而您说的是或否,,而您却没有保存,我会说POST很好.. 如果实际保存/更新信息,那么选择适当的http方法将更加相关. POST = CREATE / SUBMIT (in an RPC context) PUT = UPDATE
2 2024-03-16
编程技术问答社区
无法让PUT在ASP.NET WebAPI中工作
我在ASP.NET Webapi中遇到405个错误. 我阅读了大量页面,其中大多数建议删除WebDavModule模块和WebDav处理程序.例如: http://forums.iis.net/t/1166025.aspx5.aspx5.aspx /p> 所以我最终得到了:
6 2024-03-10
编程技术问答社区