Dart Flutter - получение пользовательского типа сообщения WordPress с помощью Chopper

Я создаю мобильный телефон с помощью Google Flutter Framework и использую Wordpress в качестве серверной части для своего приложения. Я хочу получить данные Wordpress Custom Post Type в формате JSON во Flutter с помощью Chopper Retrofit из Flutter API.

Может ли кто-нибудь помочь мне создать образец кода, чтобы я мог легко начать работу? Я работал с этим ( Flutter Wordpress), но не знаю, как использовать с этим пользовательские типы сообщений.

https://github.com/dreamsoftin/flutter_wordpress

Или, если кто-нибудь знает, как использовать это и получать пользовательские типы сообщений, мне было бы проще.

Пожалуйста помоги! Спасибо!

1 ответ

Решение

Глядя на пакет, который вы хотите использовать для создания мобильного приложения, нет примера и решения для пользовательских типов (https://github.com/dreamsoftin/flutter_wordpress), но вы можете его разветвить и расширить для определенных пользовательских типы сообщений. Я покажу вам пример того, как это сделать (исключая настраиваемые поля):

В flutter_wordpress/lib/constants.dart

добавить после строки #10 const URL_POSTS = '$URL_WP_BASE/posts';

строка для конечной точки вашего настраиваемого сообщения. Скажем, у вас есть настраиваемая книга сообщений, вы добавите конечную точкуbooks:

const URL_BOOKS = '$URL_WP_BASE/books';

см. объяснение об этом и о том, как включить REST API для настраиваемого типа сообщения здесь:

https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-rest-api-support-for-custom-content-types/

Затем в папке flutter_wordpress/lib/requests/ найдите, клонируйте и переименуйте файл:

params_post_list.dart в params_book_list.dart

И переименуйте здесь class ParamsPostList для класса ParamsBookList

в папке flutter_wordpress / lib / schemas/ find

post.dart скопируйте и переименуйте вbook.dart

И переименуйте здесь class Post для класса Book

Затем в файле flutter_wordpress / lib / flutter_wordpress.dart:

найти линию import 'schemas/post.dart'; и после этого добавьте строку import 'schemas/book.dart';

найти линию export 'requests/params_post_list.dart'; и после этого добавьте строку export 'requests/params_book_list.dart';

найти линию export 'schemas/post.dart'; и после этого добавьте строку export 'schemas/book.dart';

Затем найдите функции

async.Future<List<Post>> fetchPosts()

Future<Post> _postBuilder()

async.Future<Post> createPost({@required Post post})

скопируйте эти функции, переименуйте его и замените Post с участием Book (деликатный случай)

примечание: найти URL_POSTS в скопированных функциях и переименовать в URL_BOOKS

Другие вопросы по тегам