2017-11-16 7 views
0

Json-Server(v 0.12.1)をミドルウェアを必要とせずに使用するか、コンポーネントとして使用しようとしています。すべてのエンドポイントを手動でコーディングする時間がかかるでしょう。私は単純化されたルート設定に魅了されています。私はroutes.jsondb.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ファイルの両方が正常に取得されていることが分かります。

ありがとうございました!

私は、サーバーを起動する作業なきゃ
+0

routes.json json-server --watch db.json --routes routes.json

db.json

{ "users": [ { "id": 1, "first_name": "Sebastian", "last_name": "Eschweiler", "email": "[email protected]" }, { "id": 2, "first_name": "Steve", "last_name": "Palmer", "email": "[email protected]" }, { "id": 3, "first_name": "Ann", "last_name": "Smith", "email": "[email protected]" } ] } 

2番目のルートを定義せずにオブジェクトを取得できます。それを試しましたか? – funcoding

+0

@funcoding私は今、ありがとう! 2番目のエンドポイントを省略し、単にhttp:// localhost:3000/api/users/2を呼び出すと、残念なことに404が表示されます。また、 "userId"を "id"に変更すると(想定されている大会がある場合)、これは役に立たないようです。 – tengen

+0

さて、もう一度。以前のdb.jsonファイルに基づいて、いくつかのデフォルトルートがあります。 '--routes'を使ってサーバを起動しましたか? – funcoding

答えて

0

:私は、JSON-サーバーのドキュメントを読んでいたし、それがどのように見える

{ 
    "/api/users": "/users", 
    "/api/users/:id": "https://stackoverflow.com/users/:id" 
} 
+0

私はあなたの作品がなぜ同じであるのかわからないために私の頭を傷つけなければなりませんでした。私たちが同じルートを持っていない時は...しかし、 'id'属性を持つことは規約上必要となりました(' userId ')。私はそれをテストしたと思ったが、明らかに私はテストを台無しにした。私にそれをもう一度見てもらうのを助けてくれてありがとう。 – tengen

+0

@tengen喜んで助けてくれるかもしれません! – funcoding

関連する問題