According to the FOSRestBundle Docs:
Note that if _format is matched inside the route, then a virtual Accept header setting is added with a q setting one lower than the lowest Accept header, meaning that format is checked for a match in the priorities last. If prefer_extension is set to true then the virtual Accept header will be one higher than the highest q causing the extension to be checked first. Setting priorities to a non empty array enables Accept header negotiations.
Also, I noticed that in the rules
section, you are missing the path
option. So the application doesn't know which path to apply the rules to.
Take a look at the docs I linked to above, it has an example.