文章采集api(APIPlatform可以快速的帮助我们创建操作文章的API接口)

优采云 发布时间: 2022-03-03 13:08

  文章采集api(APIPlatform可以快速的帮助我们创建操作文章的API接口)

  API Platform 可以快速帮助我们创建 API。我们需要创建操作 文章 的 API 接口。我们打开 Post 类。在 Post 类之前,我们只需要添加一个注解 ApiResource。

  

#src/Entity/Post.php

/**

* @ORM\Entity(repositoryClass=PostRepository::class)

* @ORM\HasLifecycleCallbacks

*/

#[ApiResource]

class Post

{

// ...

}

  我们打开配置目录。在config目录下,flex组件自动为我们添加了api_platform.yaml配置文件。我们打开配置文件,API Platform会自动检索Entity目录下的所有类,读取类之前的注解,然后根据注解设置生成API接口。

  回到浏览器,我们刷新 Api 文档页面,API Platform 自动创建了 6 个接口来操作 文章 资源。前两个接口使用一个路径,后四个接口使用一个路径。这些接口使用相对统一的路径。但是同一个路径的接口,它们的方法是不一样的。

  我们来看第一个接口,它使用 GET 方法来检索 文章 资源的集合。第二个接口使用 POST 方法创建 文章 资源。第三接口是操作单一资源的接口。GET 方法在这里用于检索 文章 资源。下面使用PUT方法,用于替换文章资源。第五个接口,该接口使用DELETE方法删除文章资源。最后一个使用 PATCH 方法,用于更新 文章 资源。

  PUT 方法和 PATCH 方法都是对 文章 资源的修改,但是这两种方法之间存在一些差异。PUT 方法是对 文章 资源的整体替代。PATCH 方法是更新 文章 资源的一个或一些属性。这是 API 平台按照 REST 规范设计的一组 API。

  它们有一个相对统一的路径,接口的方法也很重要。根据REST规范设计的接口具有相应的功能。这样,如果我们设计的界面被其他用户使用,其他用户可以快速上手。

  我们可以直接在文档页面操作界面,我们看第三个界面,检索一篇文章文章。查看 文章 的列表,我们得到 ID 为 21 的 文章。单击,单击 Try it out 按钮,我们输入 id 参数。在这里输入21,点击后点击Execute。

  curl库会发送一个get请求,请求地址为/api/posts/21,请求头有accept参数,接收到的响应格式为application/ld+json格式。在下一课中,我们将学习这种格式。

  我们来看看响应的结果,响应码是400,有错误,还有循环引用。当我们得到某个文章数据时,我们也得到了文章的作者。回到项目,我们打开 User 类。在User类中,我们要获取当前作者的所有文章,然后再次获取文章。然后在文章中再次检索作者,所以有循环引用。我们在 User 类之前添加 API 注解,回到浏览器中,我们再次使用这个接口。

  

#src/Entity/User.php

/**

* @ORM\Entity(repositoryClass=UserRepository::class)

*/

#[ApiResource]

class User implements UserInterface, PasswordAuthenticatedUserInterface

{

// ...

}

  这次我们看到当前的文章信息,作者属性没有展开,它得到一个字符串。在下一课中,我们将详细解释响应的结果格式。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线