- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Controller 上Put如下:
[HttpPut]
[ActionName("putname")]
public JsonResult putname(string name)
{
var response = ...
return Json(response);
}
问题出在通过以下方式使用此 API 时
using (httpClient = new HttpClient())
{
string name = "abc";
string jsonString = JsonConvert.SerializeObject(name);
var requestUrl = new Uri("http:...../controller/putname/");
using (HttpContent httpContent = new StringContent(jsonString))
{
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = httpClient.PutAsync(requestUrl, httpContent).Result;
}
此代码不会将参数名称传递给 Controller 。我什至尝试将 uri 更改为/putname/"+ name。
最佳答案
这是对我有用的:
var jsonString = "{\"appid\":1,\"platformid\":1,\"rating\":3}";
var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");
var message = await _client.PutAsync(MakeUri("App/Rate"), httpContent);
Assert.AreEqual(HttpStatusCode.NoContent, message.StatusCode);
和我的操作方法:
public void PutRate(AppRating model)
{
if (model == null)
throw new HttpResponseException(HttpStatusCode.BadRequest);
if (ModelState.IsValid)
{
// ..
}
}
和模型
public class AppRating
{
public int AppId { get; set; }
public int PlatformId { get; set; }
public decimal Rating { get; set; }
}
-斯坦
关于c# - HttpClient PutAsync 不向 api 发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10489611/
我有一个后端 Controller 方法 [Route("{ropeId}/segments")] [HttpPut] public async Task Put([NotNull] [FromBod
我正在使用 Apache Ignite Cache 进行事务处理。目前我使用常规的cache.put()方法,但想知道我是否应该更好地使用推荐的putAsync()?如果使用异步方法,Transact
我们有一个第三方 API,它同时具有 GET 和 PUT 方法。第三方 API 仅以 XML 格式返回响应和接受。 api 看起来像 https://bh.org/api/v2/prj/A152 返回
我四处搜索,最终没有找到有关 bluebird 的 promisified 请求的 putAsync 方法的信息。 var request = require('request'); var Prom
在 Controller 上Put如下: [HttpPut] [ActionName("putname")] public JsonResult putname(string name) {
如何创建一个 IHttpContent 对象,其中包含 PutAsync 请求正文的内容? 请求是这样的: IHttpContent myHttpContent = ??? var response
几个小时以来,我一直在努力找出问题所在,但就是找不到问题所在。 通过 Mvc 应用程序,put 方法不会被命中,请求不会发生。但是当我在 fiddler 中测试它时,api 中的 PutMethod
我有一个可以完美发布数据的POST方法。 查看文档似乎 PATCH(或 PUT)应该看起来完全一样,只需使用 PutAsync 而不是 PostAsync。 好吧,我收到以下错误: + p
我是一名优秀的程序员,十分优秀!