2017-06-25 8 views
0

を作成する私は、私はちょうどあなたがカスタムJSON-サーバの実装と間違って何かを持っていると思う助けを求めていませんよ。 私が使用している: "管理者オン休息": "^ 1.1.0"カスタム残りのクライアント管理オン休み

これは私App.jsです:

... 
import restClient from './restClient'; 

const App =() => (
    <Admin 
    title="Glasses" 
    dashboard={Dashboard} 
    menu={Menu} 
    restClient={restClient} 
    authClient={authClient} 
    > 
    <Resource name="products" list={ProductList} /> 
    </Admin> 
); 

restClient.jsファイルはちょうど私https://github.com/marmelab/admin-on-rest/blob/master/src/rest/jsonServer.jsのコピーですこのようなインポートパスを変更:

import { 
    GET_LIST, 
    GET_ONE, 
    GET_MANY, 
    GET_MANY_REFERENCE, 
    CREATE, 
    UPDATE, 
    DELETE, 
    fetchUtils 
} from 'admin-on-rest'; 

const { queryParameters, fetchJson } = fetchUtils; 
... 

restClient.jsの残りの部分はgitの「jsonServer.js」のように一つずつあります。

私のメニューで「製品」をクリックすると、「REST応答にはデータキーが必要です」というメッセージが表示され、コンソールに「警告:キーの翻訳がありません:」REST応答にデータキーが含まれている必要があります"

もちろん、サーバーは応答で"データ "オブジェクトを返さないようですが、問題はリクエストしていないということです!"ネットワーク "タブに移動すると(クロムコンソールのフィルタすべてのネットワーク)APIへのリクエストが表示されないので、このようなエラーをどのように受け取ることができますか?

restClientの下部にあるこのコードの最初の行に「console.log」を追加しました。 jsファイル(jsonServer.js):

return (type, resource, params) => { 
    console.log('test'); // THIS WHAT I ADDED 
    // json-server doesn't handle WHERE IN requests, so we fallback to calling GET_ONE n times instead 
    if (type === GET_MANY) { 
     return Promise.all(params.ids.map(id => httpClient(`${apiUrl}/${resource}/${id}`))) 
     .then(responses => ({ data: responses.map(response => response.json) })); 
    } 
    const { url, options } = convertRESTRequestToHTTP(type, resource, params); 
    return httpClient(url, options) 
     .then(response => convertHTTPResponseToREST(response, type, resource, params)); 
    }; 

"テスト"はコンソールに出力されていません。

アドバイスはありますか?私は間違ったことをしましたか?

助けることができるビデオ:https://nimbus.everhelper.me/client/notes/share/982310/35f8rwpu6qohrftn8h1h restClient.jsファイル:http://pasted.co/2024e00f

は、高度にありがとうございます。

レオ。私はURLなしで管理コンポーネントの内部restClient属性を宣言したところ

答えて

2

だから、私のミスでした。

これはそれを行うための正しい方法である:

const App =() => (
    <Admin 
    title="Express Glasses" 
    dashboard={Dashboard} 
    menu={Menu} 
    restClient={restClient('http://UrlToApi.com/api')} 
    authClient={authClient} 
    > 
    <Resource name="products" list={ProductList} /> 
    </Admin> 
); 
+0

こんにちは@lioor、 私はこの作業を取得するために、あなたと同じ手順に従ってきましたが、私はエラー「TypeError例外を得ると信じて:__webpack_require__を.i(...)(...)thenは関数ではありません "。 同じものを手に入れましたか?もしそうなら、どのように修正しましたか? – cbarlow123

+0

cbarlow123 @申し訳ありません私の友人 おかげで、私はこのエラーを持っていませんでした。 – llioor

関連する問題