空のオブジェクトも返すことができるカスタムRESTエンドポイントを実装したいです。ただし、空のオブジェクトを返す必要がある場合は、コールバックによって返された空の連想配列は空の配列に変換されます。
json_encode
フラグを設定することによって、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');
}
解決策を見つけた:戻り値をオブジェクトにキャストすることで、空の配列の場合、RESTリクエストで空のオブジェクトが返されるようになります。
私の最初の例を強化すると、このコードはうまくいくでしょう:
function rest_cb() {
return (object) array();
}