【问题标题】:How can i notify subscriber of the API when that API is called?调用 API 时如何通知订阅者 API?
【发布时间】:2020-11-27 02:04:49
【问题描述】:

我有一个这样的 Rest API:

@RestController
@RequestMapping(path="/employee")
public class EmployeeController {

    private final EmpleyeeService employeeService;

    public EmployeeController(EmpleyeeService textService) {
        this.employeeService = employeeService;
    }

    @RequestMapping(method = RequestMethod.POST , value = "/add-emplyee")
    public void addEmployee(){
        //TODO: receive emplyee from input
        employeeService.save(emplyee);
    }
    
}

我希望当addEmployee Rest AOI 被调用时,订阅此 API 的客户端会收到通知。所以我像这样创建了WebsocketConfig

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry){
        registry.addEndpoint("/socket").setAllowedOrigins("*").withSockJS();
    }
}

正确吗?我还应该做什么?

【问题讨论】:

    标签: spring-boot spring-websocket stomp messagebroker rest


    【解决方案1】:

    我已经用这种方法做了类似的事情(第 27 行)

    在此处查看完整源代码https://github.com/fajaralmu/base_web_app/blob/master/src/main/java/com/fajar/entitymanagement/service/RealtimeService2.java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-19
      • 2016-06-12
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      • 2023-01-25
      • 1970-01-01
      相关资源
      最近更新 更多