2017-06-07 2 views
0

Ich bin ein Junior-Node-Entwickler und probiere Admin in Ruhe aus, um schnell ein Admin-Panel für meine JSON API zu starten. Alle meine Update-Anfragen verwenden jedoch Patch statt Put. Ich habe versucht, die Überarbeitung die Update-Methode in meinem restClient aber dies scheint falsch (der Rest der Methoden der Kürze entfernt werden)admin-on-rest Mit der PATCH-Methode

export default (apiUrl, httpClient = fetchJson) => { 
const convertRESTRequestToHTTP = (type, resource, params) => { 
    let url = '' 
    const options = {} 
    switch (type) { 
     case UPDATE: 
     url = `${apiUrl}/${resource}/${params.id}` 
     options.method = 'PATCH' 
     options.body = JSON.stringify(params.data) 
     break 

    return { url, options } 
    } 
} 

Für mich macht Sinn, aber wenn ich versuche, ein Objekt zu bearbeiten ich zurück HTTP/1.1 404 Not Found<pre>Cannot PUT </pre> Ich weiß, dass das mit früheren Versionen nicht möglich war, aber ich lese diese https://marmelab.com/blog/2017/03/10/admin-on-rest-0-9.html#http-patch, aber war ein wenig verwirrt, wie es funktioniert? Ich schätze, ich weiß einfach nicht, wo ich damit anfangen soll.

Antwort

0

Wenn das Problem immer noch aktuell ist, überprüfen Sie bitte einige Stellen, die von mir verwendet werden, um meine customRestClient einzustellen.

// App.js 
import customRestClient from './customRestClient'; 

in meinem Fall ich verwende Httpclient benutzerdefinierte Header hinzuzufügen:

import httpClient from './httpClient'; 

unter:

const restClient = customRestClient('my_api_url', httpClient); 

und schließlich:

<Admin title="Admin Panel" restClient={restClient}> 
+0

Danke für die Antwort! Ich habe Probleme damit, meinen customRestClient zu starten, und zwar die erste Zeile, in der ich versuche, von admin-on-rest zu importieren? 'import {queryParameters, fetchJson} von 'admin-on-rest/src/util/fetch' 'funktioniert nicht –

+0

ich einfach einfach kopiert von aor ../node_modules/admin-on-rest/src/util/fetch.js in meine src-Ordner und importieren Sie daraus als './fetch.js' – Alexey