geosocio/http-serializer
Composer 安装命令:
composer require geosocio/http-serializer
包简介
Serializes a Controller Request & Response
README 文档
README
Serializes a Controller Request & Response.
Request
POST & PUT requests may have their contents deserialized into an object. Any
request with a content body (e.g. PATCH) may have the contents decoded into
an array.
Response
A controller's response will serialized into the same format of the
request. If you need more advanced handling, you may always return a Response
object without interference.
Groups
Groups may be applied to the request or the response (or both) with the groups annotation.
- Request Groups
GeoSocio\HttpSerializer\Annotation\RequestGroups - Response Groups
GeoSocio\HttpSerializer\Annotation\ResponseGroups - Request & Response Groups
Symfony\Component\Serializer\Annotation\Groups
They may also be applied with a GroupResolver.
Example
/** * @Route("/post/{post}") * @Method({"GET"}) * * @Groups({"show"}) */ public function showAction(Post $post) { return $post; } /** * @Route("/post") * @Method({"POST"}) * * @RequestGroups({"create"}) * @ResponseGroups({"show"}) */ public function createAction(Post $post) { $em = $this->doctrine->getEntityManager(); $em->persist($post); $em->flush(); return $post; } /** * @Route("/post/{post}") * @Method({"PUT"}) * * @RequestGroups({"replace"}) * @ResponseGroups({"show"}) */ public function replaceAction(Post $post, Post $content) { $em = $this->doctrine->getEntityManager(); $em->merge($content); $em->flush(); return $post; } /** * @Route("/post/{post}") * @Method({"PATCH"}) * * @RequestGroups({"update"}) * @ResponseGroups({"show"}) */ public function updateAction(Post $post, array $content) { $em = $this->doctrine->getEntityManager(); $post = $this->serializer->denormalizer($content, $post); $em->flush(); return $post; } /** * @Route("/post/{post}") * @Method({"DELETE"}) */ public function deleteAction(Post $post) { $em = $this->doctrine->getEntityManager(); $em->remove($post); $em->flush(); return ''; }
geosocio/http-serializer 适用场景与选型建议
geosocio/http-serializer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 567 次下载、GitHub Stars 达 2, 最近一次更新时间为 2017 年 07 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 geosocio/http-serializer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 geosocio/http-serializer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 567
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: LGPL-3.0-only
- 更新时间: 2017-07-25