Dart Flutter - 使用 Chopper 获取 WordPress 自定义帖子类型

Posted

技术标签:

【中文标题】Dart Flutter - 使用 Chopper 获取 WordPress 自定义帖子类型【英文标题】:Dart Flutter - fetching WordPress Custom Post Type using Chopper 【发布时间】:2020-06-05 03:09:50 【问题描述】:

我正在使用 Google Flutter Framework 构建移动设备,并使用 Wordpress 作为我的应用程序的后端。 我想用 Flutter API 的 Chopper Retrofit 在 Flutter 中获取 JSON 格式的 Wordpress Custom Post Type 数据。

谁能帮我构建一个示例代码,以便我可以轻松上手? 我使用过这个(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/#registering-a-custom-post-type-with-rest-api-support

然后在flutter_wordpress/lib/requests/文件夹中,找到、克隆并重命名文件:

params_post_list.dartparams_book_list.dart

并将此处的 class ParamsPostList 重命名为 ParamsBookList

在文件夹flutter_wordpress/lib/schemas/找到

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

【讨论】:

太棒了……!!太好了..没想到这个简短的答案..非常感谢。我会在这里为其他人添加我的代码。顺便说一句,你能告诉我关于自定义字段的提示吗?我是 Flutter 的新手。我应该使用此代码还是使用 Chopper 库构建相同的代码?哪个更适合 WP 作为 android 应用的后端? 只有在 fork flutter_wordpress 项目时才应该使用这种情况。让我知道它是否有效:)

以上是关于Dart Flutter - 使用 Chopper 获取 WordPress 自定义帖子类型的主要内容,如果未能解决你的问题,请参考以下文章

Flutter + Chopper POST API 在网络中不起作用

Flutter开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )

Flutter为什么使用Dart?

Flutter为什么使用Dart?

Flutter学习笔记·初识Dart语言

使用 Flutter/Dart 关闭 Dismissible