标签: request-response

django中process_request发生错误时中间件的执行顺序是怎样的?

我正在研究 django 中间件代码库。我查看了下图在此处输入图片说明

这样,图就很清楚了。

但我有一些问题

  1. 当 process_request() 中间件出现异常时会发生什么?如何处理?会调用 response_middleware 吗?例如。如果异常进来process_view()AuthenticationMiddleware,然后会process_response()MessageMiddleware调用?

  2. 当 process_response() 中间件返回响应时会发生什么?例如。如果process_view()AuthenticationMiddleware回报阶跃响应,然后会process_response()MessageMiddleware调用?或者它会从折回AuthenticationMiddleware(即,它会调用process_response()AuthenticationMiddleware,只是不会调用process_response()MessageMiddleware

我已经调试了 1.10 中使用新样式中间件类的 django 的行为,但我对旧MIDDLEWARE_CLASSES设置不熟悉?

对于 django 1.10:- 1) 如果process_request()forAuthenticationMiddleware返回响应,则process_template_response()process_response()将被调用,如下图所示,用于所有中间件。

2) 如果process_request()forAuthenticationMiddleware引发异常,那么行为也将相同。

纠正我,如果我错了。

提前致谢。

python django django-middleware chain-of-responsibility request-response

9
推荐指数
1
解决办法
1380
查看次数

DTO 和响应对象之间的区别?

软件架构中响应对象和 DTO 有什么区别?假设我想获取目录中的产品列表。

如果 ProductDTO 是这样,那么 Product Response 类有何不同?产品响应通常只是一个带有日期时间、错误日志或 GUID 的包装,或者主要区别是什么?如果没有确切的或多个答案,想听听业界的主要原因。

public class ProductDto
{
    public int ProductId { get; set;},
    public string ProductName { get; set;},
    public string ProductDescription { get; set;},
    public float SalesAmount { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我尝试谷歌搜索这些答案,他们没有这个问题的具体答案,

对各种请求/响应类型重用 DTO 与明确需要什么/应该返回什么

每层的数据对象(DTO、实体、响应对象)

更新:

试图验证答案。看来 Rahul 的答案是回答 Domain object 和 DTO 之间的区别。Thought Response 是 DTO 的包装,不确定是否正确 -

http://themoderndeveloper.com/the-modern-developer/requesting-a-response/

现在发布在这里:

https://softwareengineering.stackexchange.com/questions/398783/what-is-difference- Between-dto-and-response-object

.net c# architecture asp.net-core request-response

5
推荐指数
2
解决办法
2万
查看次数

如何使用 WebSockets 进行请求-响应模式

我正在使用 Socket.io,我想知道是否有使用请求/响应模式的好方法。为每个请求使用 UUID,然后仅处理来自包含该 UUID 的响应的数据是最好的方法吗?这可能不是最可扩展的做事方式。

http websocket node.js socket.io request-response

4
推荐指数
1
解决办法
1819
查看次数

基于请求与基于事件的架构

第一季度

我知道基于事件与基于请求/驱动架构之间的根本区别。问题是基于请求的总是同步完成而基于事件的总是异步完成的吗?

Q2

此外,在 API 世界(请求-响应)中,如果请求消息无效,您通常会返回 400 http 代码。幸运的是,在 API 世界中,我们可以执行契约测试,使集成更加健壮。

除了将消息放入错误队列之外,在消息队列中处理此类似问题的最佳方法是什么?发布者服务或消费者服务是否有责任首先获得问题通知?

architecture messaging message-queue event-driven-design request-response

4
推荐指数
1
解决办法
4442
查看次数

是否有等效于 AWS SQS 的 GCP?

我很想了解 GCP 的 PubSub 的实现。尽管 Pubsub 似乎指向遵循发布-订阅设计模式,但它似乎比 AWS SNS(使用发布-订阅模型)更接近 AWS 的 SQS(队列)。为什么认为这是,GCP 的 pubSub

  1. 每个项目最多允许 10,000 个订阅。
  2. 允许过滤订阅
  3. 它甚至允许订购(测试版)——这应该涉及某处的 FIFA 队列。
  4. 它为请求/响应模式公开同步 api。

这让我怀疑 pub/sub 中的订阅是否仅仅是 SQS 的队列。我想听听你对这个比较的意见。混淆是由于缺乏 PubSub 的实现细节和明显的名称表明某种设计模式。

问候,

publish-subscribe amazon-sqs amazon-sns google-cloud-pubsub request-response

3
推荐指数
2
解决办法
4953
查看次数

当请求处理程序失败时,NServiceBus 6 回调客户端永远不会收到回调

使用 NServiceBus 6 的回调功能,我发现无法提醒客户端请求处理程序失败。请求处理程序将经历所有可恢复性步骤,并最终将消息放入错误队列。同时,客户端只是坐在那里等待它的回复。

// Client code (e.g. in an MVC Controller)
var message = new FooRequest();
var response = await endpoint.Request<FooReponse>(message);

// Handler code
public class FooRequestHandler : IHandleMessages<FooRequest>
{
    Task Handle(FooRequest message, IMessageHandlerContext context)
    {
        throw new Exception("Fails before the reply");
        return context.Reply(new FooResponse());
    }
}
Run Code Online (Sandbox Code Playgroud)

在上述情况下,如何让 MVC 控制器/调用代码知道处理程序已永久失败?

error-handling callback nservicebus nservicebus6 request-response

1
推荐指数
1
解决办法
240
查看次数

Charles Proxy不适用于7.0以上的Android版本?

我使用Charles来拦截请求和响应很长一段时间,但当我尝试谷歌像素定位Android奥利奥,它一直给我握手异常.我知道他们已经完成了一些关于网络安全的改变.任何形式的帮助将不胜感激.

ssl android charles-proxy request-response

1
推荐指数
1
解决办法
5172
查看次数

Django 中的循环导入

我一直在尝试使用 Django 运行客户端-服务器应用程序。当我尝试在 Django 中运行我的服务器时,它给了我以下错误。

django.core.exceptions.ImproperlyConfigured:包含的 URLconf '' 似乎没有任何模式。如果您在文件中看到有效模式,则问题可能是由循环导入引起的。

项目 urls.py -

from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('chat.views')),
] 
Run Code Online (Sandbox Code Playgroud)

应用程序的 views.py -

from django.shortcuts import render
from django.http import JsonResponse
def home(request):
if request.method == 'POST':

    if request.is_ajax():

       //code
        return JsonResponse(data)

return render(request,'index.html')
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

python django django-views request-response

-1
推荐指数
1
解决办法
4254
查看次数