On 27.12.2010, at 18:00, Martijn wrote:
> First of all ParamConverters look very nice but don't help my cause.
> The view is used to create the response but the problem is at the
> request. This is how it should work:
>
> 1. HTTP client sends "json/application" POST request with this body
> data: {"jsonrpc": "2.0", "method": "calculator.subtract", "params":
> [42, 23], "id": 1}
> 2. The HttpKernel asks the resolver to return a controller and
> arguments.
> 3. "ServiceResolver::getController" returns "HelloBundle\Service
> \Calculator::substractAction" method.
> 4. "ServiceResolver::getArguments" returns the parameters 42 and 23
> (or parameter object? parameters can be named in some transport
> protocols such as JSON-RPC)
> 5. The service controller method "HelloBundle\Service
> \Calculator::substractAction" returns the response object (possibly
> helped by Twig or a JSON-RPC response builder)
>
> The problem here is the resolver. How can I swap it for my own
> implementation?
I guess you could do this via a simple forward from a generic controller.
Similar to what I did for the MultiplexBundle [1].
But sure the "cleaner" solution would be to override the resolver. But what
makes you believe you can't do this?
<parameter
key="controller_resolver.class">Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver</parameter>
<service id="controller_resolver" class="%controller_resolver.class%">
<argument type="service" id="service_container" />
<argument type="service" id="controller_name_converter" />
<argument type="service" id="logger" on-invalid="ignore" />
</service>
Seems like you should be able to adjust either just the class or the entire
definition of the service.
regards,
Lukas Kahwe Smith
[email protected]
[1] https://github.com/liip/MultiplexBundle
--
If you want to report a vulnerability issue on symfony, please send it to
security at symfony-project.com
You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en