美文网首页基于symfony搭建REST API
基于symfony搭建REST API(一)

基于symfony搭建REST API(一)

作者: 又起风了_ | 来源:发表于2018-11-26 11:59 被阅读156次
    1. 安装两个recipes
    composer req symfony/serializer
    
    compser req friendsofsymfony/rest-bundle
    
    1. 创建一个实体,这里以User代替,并添加相应的字段
    ~ cd 你的工作目录/
    ~ bin/console  make:entity
     Class name of the entity to create or update (e.g. OrangeJellybean):
     > User
    Add another property? Enter the property name (or press <return> to stop adding fields):
     > name 
    
     Field type (enter ? to see all types) [string]:
     > 
    
     Field length [255]:
     > 
    
     Can this field be null in the database (nullable) (yes/no) [no]:
     > no
    
     updated: src/Entity/User.php
    
     Add another property? Enter the property name (or press <return> to stop adding fields):
     > pass
    
    1. User实例生成后,再根据类生成相应的user表
    ~ bin/console make:migration  
    #成功后再执行下面的命令
    ~ bin/console doctrine:migrations:migrate
    #输入y,user表就生成了
    
    1. 目录结构
    • 修改restbundle配置文件
    #config/packages/fost_rest.yaml
    fos_rest:
        view:
            view_response_listener:  true
        format_listener:
            rules:
                - { path: ^/api, prefer_extension: true, fallback_format: json, priorities: [ json] }
                - { path: ^/, fallback_format: html }
    
    • 修改annotations配置,使web路径和api路径区分开
    #config/routes/annotations.yaml
    #名字不重要,可以随便命名
    web_controller:
        resource: ../../src/Controller/Web/
        type: annotation
    rest_controller:
        resource: ../../src/Controller/Rest/
        type: annotation
        prefix: /api
    
    • Controller目录结构


      WechatIMG4.jpeg

      在Rest下创建了v1这个目录,用于区分不同版本的api

    到这里,准备工作已完成。

    相关文章

      网友评论

        本文标题:基于symfony搭建REST API(一)

        本文链接:https://www.haomeiwen.com/subject/baovqqtx.html