方法void与非void返回类型的最佳性能



有一个用于插入/更新的web服务。我需要返回响应实体,但并非总是如此。总有返回值,但用户不需要总是使用。那么,写另一个服务并返回响应实体更好吗?还是只写一个服务就足够了?

此插入/更新服务用于集成项目。所以它被用于50万或更多的实体,这就是为什么我关心性能。

我相信问题(到目前为止的3(的注释是关于Java中的内部服务代码,即关于Spring@Controller和Spring@Service之间的调用。

但问题是,这是一个web服务,这意味着它实际上是在询问HTTPPOST(或PUT(请求,在该请求中并不总是有任何东西可以发送回来。

即使Spring Controller方法是void,也会发送回HTTP响应,只使用204 No Content而不是通常的200 OK+有效载荷。性能没有任何差异,因为与其他一切相比,格式化/发送带有数据的有效载荷所花费的任何时间都是微观的

请注意,对插入的适当响应是201 Created

如果你不想让客户端等待,你可能应该对请求进行后台处理,例如使用@Async,这样即使服务器仍在处理HTTP请求,HTTP请求也会立即得到响应。在这种情况下,响应应该是202 Accepted

最新更新