2016-10-10 3 views
3

admin-on-rest은 맞춤형 휴식 클라이언트를 작성하여 JSON 응답을 소비 할 수 있습니다. 이 문서의 예제는 json-server project에서 JSON을 사용하는 방법입니다.rest-rest-on-rest에 문의하십시오.

restClient의 사소한 변경으로 admin-on-rest에서 this api을 얼마나 쉽게 사용하는지 궁금합니다. 내가 잘못 아니에요 경우

+0

링크가 오류 페이지를 가리키고있는 것 같습니다. –

+0

나에게도 링크가 작동하지 않습니다. 질문에 게시 한 링크를 클릭하십시오 – Veeresh123

+0

그들은 업데이트 된 문서로 0.4.0 버전을 발표했습니다. 링크를 업데이트하고 링크 표시 관련 구문 문제를 해결했습니다. – Chida

답변

-1

, 당신은 (예를 들어)에서 URL의 재 작성을 갖고 싶어 : https://marmelab.com/admin-on-rest-demo/#/customers/684 TO : 경우 GET_ONE : 는 https://marmelab.com/admin-on-rest-demo/?customers=684

당신이 restClient.js에서 GET_ONE를 다시 작성할 수 있습니다 : url = ${apiUrl}/${resource}/${params.id}; TO : 사례 GET_ONE : url = ${apiUrl}/?${resource}=${params.id};

이렇게하면 url 부분 대신 매개 변수를 통해 레코드가 검색됩니다.

0

좋습니다 - fetchJson 메소드에서 intrested 인 나머지 관리자 (파일 admin-on-rest/src/util/fetch.js)에 대해 살펴 보겠습니다.

방법 복귀 약속을 가져올 것을하는 것이 그 코드에서 JSON 구문 분석하려고 :

try { 
    json = JSON.parse(body); 
} catch (e) { 
    // not json, no big deal 
} 

을 한 후 그 반환 : 우리는 결과에 몸을 가지고 다시 사용할 수 있습니다 또는 우리가 할 수있다 return { status, headers, body, json };
그러나 우리가 그렇게 할 수 귀하의 예를 들어 JSON

에서 구문 분석 된 객체를 사용 (일부 코드가 누락) :

const httpClient = (url, options = {}) => { 
    if (!options.headers) { 
     options.headers = new Headers({ Accept: 'application/json' }); 
    } 
    options.withCredentials = true; 
     return fetchUtils.fetchJson(url, options).then(({status, headers, body, json}) => { 
     json = json['results'] ? json['results'] : json; 
     return {status, headers, body, json}; 
    }); 
} 

그래서 우리는 단지 그 라인에서 스키마의 '결과'에서 수집하여 overrwrited JSON 객체 :
json = json['results'] ? json['results'] : json;
이제 경고

<Admin restClient={restClient}> 
... 
</Admin> 

관리

에 해당 클라이언트를 사용할 수 있습니다! 이는 Admin의 모든 요청에 ​​영향을 미칩니다. 그러나 추가 매개 변수를 추가 할 수 있습니다. json = json['results'] ? json['results'] : json;을 사용하고 싶지 않은 경우 추가 매개 변수를 추가하거나 가져 오기 방법을 가져올 수 있습니다.