Json-Server(v 0.12.1)をミドルウェアを必要とせずに使用するか、コンポーネントとして使用しようとしています。すべてのエンドポイントを手動でコーディングする時間がかかるでしょう。私は単純化されたルート設定に魅了されています。私はroutes.json
とdb.json
(私は定型文をたくさん削除することができます)を必要とせずにそれを使用できるはずだと信じています。JSONサーバーがIDで単一の子要素を返さない
マイdb.json:
"users": [
{
"userId": 1,
"favoriteColor": "red"
},
{
"userId": 2,
"favoriteColor": "blue"
},
{
"userId": 3,
"favoriteColor": "green"
}
]
マイroutes.json:私はGET呼び出しを行うことができるようにしたい
{
"/api/users": "/users",
"/api/users/:userId": "https://stackoverflow.com/users/:userId"
}
:http://localhost:3000/api/users/2
とget
{
"userId": 2,
"favoriteColor": "blue"
}
その代償としてしかし、私はいつもちょうど{}
を得る。
データ構造(私が制御できない)またはフィルタ(オブジェクトではなく配列を返す)を使用してSOからのいくつかの提案を使用しようとすると、私にとっては不便です。
誰かがこの一見単純なルートが機能しない理由を知っていますか?私はcustom route guidelinesに従っていると信じています。私はjson-server --watch ./api/db.json --routes ./api/routes.json
でサーバを起動しており、http://localhost:3000/api/users
を打つと、私が期待しているものが正確に返されるので、routes.json
ファイルとdb.json
ファイルの両方が正常に取得されていることが分かります。
ありがとうございました!
私は、サーバーを起動する作業なきゃ
routes.json
json-server --watch db.json --routes routes.json
db.json
2番目のルートを定義せずにオブジェクトを取得できます。それを試しましたか? – funcoding
@funcoding私は今、ありがとう! 2番目のエンドポイントを省略し、単にhttp:// localhost:3000/api/users/2を呼び出すと、残念なことに404が表示されます。また、 "userId"を "id"に変更すると(想定されている大会がある場合)、これは役に立たないようです。 – tengen
さて、もう一度。以前のdb.jsonファイルに基づいて、いくつかのデフォルトルートがあります。 '--routes'を使ってサーバを起動しましたか? – funcoding