我正在 Spring 中开发事件驱动的架构,并且希望能够从事件侦听器返回 HTTP 响应。例如,假设我在控制器中收到请求,我希望能够从该控制器发出事件,并从接收该请求的事件侦听器返回对该请求的响应。事件的发送和接收并不困难,因为我可以使用EventListener和EventPublisher。但是,我很难从事件侦听器向客户端返回值。有什么办法可以做到吗?
我正在尝试将多行插入表中,并且在发生冲突的情况下,只需更新它们即可。我究竟做错了什么?
insert into segments(id, departure_hour)
values
(1153, 2),
(1156, 4),
(1154, 2)
on conflict do update set
departure_hour = c.departure_hour
from (values
(1153, 2),
(1156, 4),
(1154, 2))
as c(id, departure_hour)
where c.id = segments.id
Run Code Online (Sandbox Code Playgroud)
根据要求,这是我的表定义:
CREATE TABLE segments (
id SERIAL PRIMARY KEY,
route_id integer NOT NULL REFERENCES routes(id),
origin_id integer NOT NULL REFERENCES stops(id),
destination_id integer NOT NULL REFERENCES stops(id),
price integer DEFAULT 0,
departure_day integer NOT NULL,
departure_hour integer NOT NULL,
departure_minute integer NOT NULL,
arrival_day integer …
Run Code Online (Sandbox Code Playgroud)