1

Feathersjs クライアントは、残りの方法とソケットの方法の両方を介してサーバーにメッセージを送信するための優れた API を提供します。しかし、クライアント側で間違ったサービス パスを検出する方法がわかりません。例として以下のコードを見てみましょう:

const feathers = require('feathers-client')
const Primus = require('../public/dist/primus.js')
var primus = new Primus('http://localhost:3030');
var app = feathers()
  .configure(feathers.hooks())
  .configure(feathers.primus(primus));

var service = app.service('/test-servcie/ssss')

上記のコードの最後の行には、間違ったサービス パス ( /test-servcie/ssss) が含まれています。間違ったサービス パスは、このパスでリッスンするサービスがないことを意味します。その後、以下のコードを使用してメッセージをサービスに送信します。

service.create({}, {
  query: {
    hostname: 'localhost',
    port: 27017
  }
})

サービス パスが存在しないため、サーバー側では何も起こりません。しかし、クライアント側でも間違ったメッセージは表示されませんでした。クライアント側でサービス パスが無効であることを確認するにはどうすればよいですか? パスが存在しない場合にエラー メッセージを表示したい。

4

1 に答える 1

0

REST クライアントを使用すると、404 または 500 エラーが発生します。残念ながら、送信しているメッセージがサーバーでリッスンされているかどうかを websocket ライブラリが簡単に知る方法がないため、タイムアウトが発生します (デフォルトは 5 です)。秒) この場合、サービス メソッドを呼び出そうとすると。ただし、次のバージョンに搭載されるサービス イントロスペクションの提案があります。

于 2016-12-27T18:15:05.937 に答える