首页 文章

symfony中不同方法的空路径路径

提问于
浏览
2

我正在使用Symfony和FOSRestBundle开发API,并希望使用以下路由:

app/config/routing.yml

page:
  prefix: /page
  resource: "@PageBundle/Resources/config/routing.yml"

PageBundle/Resources/Config/routing.yml

page_get:
  path: /{id}
  methods: GET
  defaults:
    _controller: PageBundle:Page:get
    id: null

page_post:
  path: /
  methods: POST
  defaults:
    _controller: PageBundle:Page:post

PUT和DELETE也一样......

当我调用GET for / page工作正常时,但是当调用POST / page时,我收到以下错误:

No route found for "POST /page": Method Not Allowed (Allow: GET, HEAD)

我需要调用 /page/ 而不是 /page ,然后才能工作......

对于不同的方法,我该怎么做才能使用相同的空路径?

对不起,我的英语不好 .

1 回答

  • -1

    你需要做的是从 app/config/routing.yml 删除 prefix

    page:
        resource: "@PageBundle/Resources/config/routing.yml"
    

    并将其添加到 PageBundle/Resources/Config/routing.yml 中的路径

    moodul_page_get:
        path: /page/{id}
        methods: GET
        defaults:
            _controller: MoodulPageBundle:Page:get
            id: null
    
    moodul_page_post:
        path: /page
        methods: POST
        defaults:
            _controller: MoodulPageBundle:Page:post
    

    希望这可以帮助

相关问题