Итак, начнем с WordPress REST API
Я создаю свой собственный REST API Controller (имеется в виду, что мой собственный класс расширяется \ WP_REST_Controller класс)
Я представляю маршруты API для пользовательского типа сообщения
Код очень длинный, поэтому я не буду вставлять сюда весь код, только важные
Итак, пока все в порядке, я могу читать данные из маршрутов и создавать данные по маршрутам
У меня возникла проблема с попыткой отправки данные через POST-запрос для полей, схема которых является массивом объекта
Итак, учитывая эту схему
$schema = array(
'$schema' => 'http://json-schema.org/draft-04/schema#',
'title' => $this->post_type,
'type' => 'object',
'properties' => array(
'id' => array(
'description' => __( 'Unique identifier for the survey cpt object.', 'wp-plugin-boilerplate' ),
'type' => 'integer',
'context' => array( 'view', 'edit', 'embed' ),
'readonly' => true,
),
'title' => array(
'description' => __( 'The title for the survey cpt object.', 'wp-plugin-boilerplate' ),
'type' => 'string',
'context' => array( 'view', 'edit', 'embed' ),
),
'description' => array(
'description' => __( 'The description for the survey cpt object', 'wp-plugin-boilerplate' ),
'type' => 'string',
'context' => array( 'view', 'edit', 'embed' )
),
'status' => array(
'description' => __( 'A named status for the survey cpt object.', 'wp-plugin-boilerplate' ),
'type' => 'string',
'enum' => array_keys( get_post_stati( array( 'internal' => false ) ) ),
'context' => array( 'view', 'edit' ),
),
'type' => array(
'description' => __( 'Type of Post for the survey cpt object.', 'wp-plugin-boilerplate' ),
'type' => 'string',
'context' => array( 'view', 'edit', 'embed' ),
'readonly' => true,
),
'fields' => array(
'description' => __( 'Set of fields for the survey cpt object.', 'wp-plugin-boilerplate' ),
'type' => 'array',
'context' => array( 'view', 'edit', 'embed' ),
'items' => array(
'type' => 'object',
'properties' => array(
'field_type' => array( 'type' => 'string' ),
'description' => array( 'type' => 'string' ),
'order' => array( 'type' => 'integer' )
)
)
)
)
);
Итак, поле fields является массивом объектов ,
Просто игнорируйте аутентификацию, чтобы избежать дальнейших усложнений в среднем, я просто разрешил publi c создание элементов cpt через REST API atm.
Когда я отправляю POST запрос через почтальона вот так * 10 38 *
Примечание: Операция, описанная выше, будет успешной, если я удаляю / не пропускаю поля field.
Так что-то не так в том, как я определяю схему? или что-то не так при отправке данных?
Заранее спасибо.
Редактировать:
Тоже пробовал
Редактировать:
Подтвердите, что это проблема только для PostMan , отправка POST запроса через AX IOS работает нормально