有一个用于插入/更新的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
。