简体   繁体   中英

Slim Framework Optional Params Routes

I'm new to php and I'm using Slim Framework to develop a simple Rest Api.

According to docs, Slim uses FastRoute .

I have a route with optional params (vendor and quantity) like that:

path/items/{id}/{name}/{price}[/{vendor}[/{quantity}]]

The problem is that if I leave vendor blank the value of quantity goes to vendor and quantity will not be filled. I understand that with fast routes I can't achieve that. But, how can I do it?

  1. Can I do it with fast routes?
  2. Can I do it with Slim?
  3. Is there another framework that I can achieve what I want?
  4. Should I use only query strings? (I think that is the answer, but I need a help from someone with more knowledge).

Thank you.

If you are going to have optional parameters, which are of the same types and can be sent in any order, you could either use query strings, or have a fixed format where you add something like 0 instead of omitting it. Example where "vendor" isn't set:

/10/somename/15/0/12

Then the parameters aren't optional in the URL/route but you can handle that in your controller instead, just ignoring them if the param is a zero.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM