JHipster 3.5.0をspring-bootとangleで使用してアプリケーションを構築しています。 サーバーから送信されたイベントを使用して、バックエンドからUIに更新を送信したいのですが、動作させることができません。ここでJHipsterでサーバーが送信するイベントとイベントソースを取得できません
は私RestControllerのコードです:
@RestController
@RequestMapping("/api")
public class SSEResource {
private final List<SseEmitter> sseEmitters = new CopyOnWriteArrayList<>();
@RequestMapping(value = "/sse", method = RequestMethod.GET)
@Timed
public SseEmitter getSSE() throws IOException {
SseEmitter sseEmitter = new SseEmitter();
this.sseEmitters.add(sseEmitter);
sseEmitter.send("Connected");
return sseEmitter;
}
@Scheduled(fixedDelay = 3000L)
public void update() {
this.sseEmitters.forEach(emitter -> {
try {
emitter.send(String.valueOf(System.currentTimeMillis()));
} catch (IOException e) {
e.printStackTrace();
}
});
}
}
は私のAngaluarコントローラは、次のようになります。私はそのコードを使用しようとすると
(function() {
'use strict';
angular
.module('myApp')
.controller('SSEController', SSEController);
SSEController.$inject = [];
function SSEController() {
var vm = this;
vm.msg = {};
function handleCallback(msg) {
vm.msg = msg.data;
}
vm.source = new EventSource('api/sse');
vm.source.addEventListener('message', handleCallback, false);
}
})
();
私は
406を受け取ります許容できないHTTPステータス
リクエストヘッダーのため承認: "text/event-stream"。私は手動でにそのヘッダーを変更した場合は受け入れる:「/*」とリプレイ私のブラウザのデバッグツールを使用して要求することを私が手に
401不正なHTTPステータス
私が欠けていると思いますかなりシンプルなものですが、私はSecurityConfigurationとauthInterceptorをチェックしています。
誰かが私が間違っていることを説明できますか?私はHTTP-ヘッダー「認可」に依存しているJWT認証、とJhipsterを使用してい
:ソリューションは本当に簡単ウント本当にunsatisfingです:自分の質問にanwserする