web-dev-qa-db-fra.com

Comment: laisser le noeud final retourner un objet vide

J'aimerais implémenter un noeud final personnalisé REST pouvant également renvoyer un objet vide. Toutefois, dans le cas où il devrait renvoyer un objet vide, le tableau associatif vide renvoyé par le rappel est transformé en un tableau vide.

Comment puis-je forcer le noeud final à transformer le tableau en un objet comme je le peux dans json_encode en définissant l'indicateur JSON_FORCE_OBJECT?

function rest_cb() {
    return array();  // this will result in the REST response [] but {} is required
}

function on_rest_api_init() {
    register_rest_route('ns/v1', 'empty-object', 'rest_cb');
}
2
felixlinker

Trouvez la solution: en convertissant la valeur de retour en objet, vous êtes assuré qu'en cas de tableau vide, un objet vide sera renvoyé à la demande REST.

En améliorant mon exemple initial, ce code fonctionnerait:

function rest_cb() {
    return (object) array();
}
2
felixlinker