如果您对该视图未返回HttpResponse对象。它返回None感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于该视图未返回HttpResponse对象。它返回None的详细
如果您对该视图未返回HttpResponse对象。它返回None感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于该视图未返回HttpResponse对象。它返回None的详细内容,我们还将为您解答视图操作错误退回上一视图的快捷键是的相关问题,并且为您提供关于asp.net core WebApi 返回 HttpResponseMessage、asp.net – MVC 4 Web API Action返回:类型vs HttpResponseMessage、asp.net-web-api – 更好地总是在Web Api中返回HttpResponseMessage?、c# – WCF休息返回HttpResponseMessage想要在设置内容时协商的有价值信息。
本文目录一览:- 该视图未返回HttpResponse对象。它返回None(视图操作错误退回上一视图的快捷键是)
- asp.net core WebApi 返回 HttpResponseMessage
- asp.net – MVC 4 Web API Action返回:类型vs HttpResponseMessage
- asp.net-web-api – 更好地总是在Web Api中返回HttpResponseMessage?
- c# – WCF休息返回HttpResponseMessage想要在设置内容时协商
该视图未返回HttpResponse对象。它返回None(视图操作错误退回上一视图的快捷键是)
我有以下简单的看法。为什么会导致此错误?
The view auth_lifecycle.views.user_profile didn''t return an HttpResponseobject. It returned None instead.
"""Renders web pages for the user-authentication-lifecycle project."""from django.shortcuts import renderfrom django.template import RequestContextfrom django.contrib.auth import authenticate, logindef user_profile(request): """Displays information unique to the logged-in user.""" user = authenticate(username=''superuserusername'', password=''sueruserpassword'') login(request, user) render(request, ''auth_lifecycle/user_profile.html'', context_instance=RequestContext(request))
答案1
小编典典因为视图必须 返回 render
,而不仅仅是调用它。将最后一行更改为
return render(request, ''auth_lifecycle/user_profile.html'', context_instance=RequestContext(request))
asp.net core WebApi 返回 HttpResponseMessage
ASP.NET WebApi 2 中的示例代码:
[Route("values/{id}")]
public async Task<HttpResponseMessage> Get(string id) { var response = Request.CreateResponse(HttpStatusCode.OK); var accept = Request.Headers.Accept; var result = await _valuesService.Get(id); if (accept.Any(x => x.MediaType == "text/html")) { response.Content = new StringContent(result, Encoding.UTF8, "text/html"); } else { response.Content = new StringContent(result, Encoding.UTF8, "text/plain"); } return response; }
ASP.NET Core WebApi 中的示例代码:
[Route("values/{id}")]
public async Task Get(string id) { var accept = Request.GetTypedHeaders().Accept; var result = await _valuesService.Get(id); var data = Encoding.UTF8.GetBytes(result); if (accept.Any(x => x.MediaType == "text/html")) { Response.ContentType = "text/html"; } else { Response.ContentType = "text/plain"; } await Response.Body.WriteAsync(data, 0, data.Length); }
可以看到,改变还是很大的,主要是两方面:
没有了 Request.CreateResponse
,获取 Accept 需要通过 Request.GetTypedHeaders()
。
没有返回值,而是直接通过数据流的方式写入到 Response.Body
中。
asp.net – MVC 4 Web API Action返回:类型vs HttpResponseMessage
public class MyController : ApiController { public IEnumerable<MyType> Get()...
VS
返回HttpResponseMessage:
public class MyController : ApiController { public HttpResponseMessage Get()...
??
MVC是否将类型转换成HttpResponseMessage内容对象?除了显式添加格式化程序之外,页面上的结果看起来是一样的.
与客户有什么区别?
解决方法
如果你返回CLR类型,它将被HttpResponseMessage包装.
唯一的区别是,如果你返回HttpResponseMessage,你有机会直接使用HTTP工作 – 所以你可以设置头文件,绕过MediaTypeFormatter等等.
这一切都是个人偏好和/或在您的行动中执行的活动的问题.
asp.net-web-api – 更好地总是在Web Api中返回HttpResponseMessage?
当我加载默认的webapi项目时,我看到他们不在样例控制器中使用它
// GET api/values public IEnumerable<string> Get() { return new string[] { "value1","value2" }; } // GET api/values/5 public string Get(int id) { return "value"; }
我以为HttpResponseMessage包装了一切,使它成为一个很好的Http请求.如果这是正确的,不仅仅是使用它的好处是什么?
解决方法
我有信心,如果您自己支付创建HttpResponseMessage的额外的前期成本,您将更好地了解Web API的实际工作原理.您将遇到更少的问题,因为您更有可能避免Web API执行您不期望的操作.您将更有可能利用HTTP功能,因为标题位于您的访问权限.
c# – WCF休息返回HttpResponseMessage想要在设置内容时协商
我假设这是一个正确的,如果不是让我知道,但我的问题是当我尝试设置HttpResponseMessage.Content时会发生什么.当我这样做,我做了RESTful呼叫请求身份验证的客户端.
这是我的代码:
在界面中:
[WebGet(UriTemplate = "/GetDetailsForName?name={name}",ResponseFormat = Webmessageformat.Json)] HttpResponseMessage GetDetailsForName(string name);
在课堂里:
public HttpResponseMessage GetDetailsForName(string name) { HttpResponseMessage hrm = new HttpResponseMessage(HttpStatusCode.OK) { //If I leave this line out,I get the response,albeit empty Content = new StringContent("Hi") }; return hrm; }
我想尝试使用Request.CreateResponse,但我似乎无法从我的WCF Restful方法获取请求. OperationContext.Current.RequestContext没有CreateResponse.
任何指针?
解决方法
Construct an
HttpResponseMessage
object,serialize it with a JSON serializer and pass the result over the wire.
问题是HttpResponseMessage是一次性的,并不意味着被序列化,而StringContent根本不能被序列化.
至于为什么您被重定向到认证表单 – 当它无法序列化StringContent时,该服务会引发异常并返回一个被认为是认证问题的400 HTTP状态代码.
关于该视图未返回HttpResponse对象。它返回None和视图操作错误退回上一视图的快捷键是的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于asp.net core WebApi 返回 HttpResponseMessage、asp.net – MVC 4 Web API Action返回:类型vs HttpResponseMessage、asp.net-web-api – 更好地总是在Web Api中返回HttpResponseMessage?、c# – WCF休息返回HttpResponseMessage想要在设置内容时协商等相关知识的信息别忘了在本站进行查找喔。
本文标签: