laminas-api-tools / api-tools-admin

Laminas API Tools Admin module
https://api-tools.getlaminas.org/documentation
BSD 3-Clause "New" or "Revised" License
13 stars 21 forks source link

Cannot match route when creating new RPC service #45

Open michalbundyra opened 4 years ago

michalbundyra commented 4 years ago

With version 1.0.4 when you create a new RPC service the route is initially not matchable unless you put a forward slash preceding your route name. The problem is in the module.config.php

Replicate this by creating a new RPC service, in my case with the service name updateWeather and route to match as update-weather.

Below is generated module.config.php snippet. Note that the route is missing a preceding forward slash. By default trying to access /update-weather does not match a route, adding the forward slash makes the route valid.

Obviously I didn't add the slash when I should have however there was no indication I should and the REST services create the route for you with the slash. There should be validation that the route starts with a slash or one added for you.

            'sarah.rpc.update-weather' => array(
                'type' => 'Segment',
                'options' => array(
                    'route' => 'update-weather',
                    'defaults' => array(
                        'controller' => 'sarah\\V1\\Rpc\\UpdateWeather\\Controller',
                        'action' => 'updateWeather',
                    ),
                ),
            ),

Originally posted by @cookejames at https://github.com/zfcampus/zf-apigility-admin/issues/231

michalbundyra commented 4 years ago

@cookejames I had the same issue also with RPC sevices. The auto-generated code did not added the slash for the route


Originally posted by @Nguimjeu at https://github.com/zfcampus/zf-apigility-admin/issues/231#issuecomment-347210119