- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的代码是
var response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(
JsonConvert.SerializeObject(data),
Encoding.UTF8, "application/json");
return response;
它通过返回一些 json 数据工作正常。
后来我注意到Request.CreateResponse()
可以接受第二个参数T value
,value
是的内容HTTP 响应消息
。所以我试着把上面三行压缩成一行
return Request.CreateResponse(
HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(data),
Encoding.UTF8, "application/json"));
但它并没有像预期的那样工作。它返回
{
"Headers": [
{
"Key": "Content-Type",
"Value": [
"application/json; charset=utf-8"
]
}
]
}
我是不是误解了 Request.CreateResponse()
的第二个参数?
最佳答案
Did I misunderstand the second parameter of Request.CreateResponse()
是的,你有。第二个参数只是值本身。您将 StringContent
作为 T 值
传递,而不是让 CreateResponse
使用您传递的正确内容类型为您序列化它。您看不到数据的原因是 CreateResponse
可能不了解如何正确序列化 StringContent
类型的对象。
您只需要:
return Request.CreateResponse(HttpStatusCode.OK, data, "application/json"));
关于c# - Request.CreateResponse 与 response.Content?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31630093/
我正在尝试设置 Behat,但是当我运行 bin/behat --init 时它无法初始化。我的composer.json取自官方docs : { "require": { "
鉴于以下情况: [HttpGet] [ActionName("GetContent")] public HttpResponseMessage GetContent(int i
我正在尝试找出一种方法来在我的响应中返回一个对象,同时仍然保持可理解的返回类型。 所以对于初学者来说,我知道这会按预期工作。 public async Task DoMyThing(MyObject
下面是我的代码(部分代码),我想将它迁移到 asp.net 核心。 我的问题是“Request.CreateResponse”在下面的代码中不起作用。我谷歌了很多,但找不到任何解决方案。我该如何解决?
我在尝试使用 post 请求调用我的 web api 时遇到问题,返回了一个空数组。 我的方法是: // POST: Api/v1/transaction/ [HttpPost] p
如何模拟 HttpRequestMessage,特别是 CreateResponse? var requestMessage = Substitute.For(); requestMessage.Cr
我构建了一个由 Http 请求触发的 C# Azure 函数应用程序。该应用程序的目的是使用数字孪生来更改我的设备的所需状态。为此,我导入了以下依赖项(在 project.son 文件中): "M
我的代码是 var response = Request.CreateResponse(HttpStatusCode.OK); response.Content = new StringContent
我在 ApiController 的请求处理方法中有这段代码: if (uri != null) { HttpResponseMessage r = Request.CreateRespons
我正在尝试在 ASP.Net Web API 中创建自定义 AuthorizeAttribute 来处理基本身份验证。覆盖 HandleUnauthorizedRequest 时,我发现 HttpAc
什么时候应该使用HttpResponseMessage对象,什么时候应该使用Request.CreateResponse(...)方法? 另外,HttpResponseMessage 对象和Reque
我正在使用 ASP.Net MVC 4 RC 的 ApiController,我正在尝试对 GET 方法进行单元测试。 此方法使用 CreateResponse 上的 HttpRequestMessa
我似乎已经找到了问题,但不知道如何解决它,或者我是否可以。 当我创建一个新的 C# WebAPI项目,并为 System.Net.Http 添加导入我可以访问Request.CreateRespons
我的Azure函数代码如下 public static class MyHttpTriggerFunction { public static async Task Run([Ht
出于某种原因,Request.CreateResponse 在 VS2012 中现在是“红色”,当我将鼠标悬停在 IDE 显示的用法上时 Cannot resolve symbol 'CreateRe
我一直在我的 api Controller 中发送响应,如下 (.Net Framework 4.5) public virtual async Task Import(Guid Id) {
我在这个方法上遇到了这个错误: [HttpGet] public HttpResponseMessage Search([ModelBinder(
我有空的 Web API 项目以及使用 VS2015 创建的完整 MVC 项目。我注意到 HttpRequestMessage 在 System.Net.Http 中,这很好,但不适用于下面的 Cre
我正在尝试为我的 ApiController 编写一些单元测试,但遇到了一些问题。有一个名为 Request.CreateResponse 的很好的扩展方法,它对生成响应有很大帮助。 public H
调用这个方法: public HttpResponseMessage PostProduct(Product item) { item = repository.Add(item);
我是一名优秀的程序员,十分优秀!