Open weierophinney opened 4 years ago
@sarathbabuSwamynathan I may be way off base here since it doesn't answer your question directly, but I would create another service for resetting password operations for simplicity. I would then change the route from the default to be /users/reset_password[/:user_id]
Originally posted by @sariabod at https://github.com/zfcampus/zf-apigility/issues/187#issuecomment-288751907
Thanks for your reply Sam. I thought of creating apis like which i have seen following link
http://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#%20
Multiple actions are there. If its is created in single rest api, then it will be easy to maintain it and it will removes some confusions down the road.
Originally posted by @sarathbabuSwamynathan at https://github.com/zfcampus/zf-apigility/issues/187#issuecomment-288943084
It is quite common to use an RPC (remote procedure call) solution for such things like resetting a password. You could also treat the password as a resource and allow PUT
-ting it, but you would have to come up with your own model for this. Using an RPC solution will probably be the easier way to go.
Check here for docs on the zf-rpc
module: https://apigility.org/documentation/modules/zf-rpc
Check also this post on stackoverflow that might be interesting for you: http://stackoverflow.com/q/3077229/1697459
Originally posted by @Wilt at https://github.com/zfcampus/zf-apigility/issues/187#issuecomment-288965121
Thanks Sam and Wlit for your earliest reply.
Originally posted by @sarathbabuSwamynathan at https://github.com/zfcampus/zf-apigility/issues/187#issuecomment-289402325
Hi @sarathbabuSwamynathan ,
creating a service under users
is as far as I've seen just a matter of properly routing.
Start by creating a new Rest API service for example with the admin tool, then set the route in your corresponding module.config.php
file. i.e under the router
.routes
configuration key have something like this:
'router' => [
'routes' => [
'your_module_name.rest.custom_stuffs' => [
'type' => 'Segment',
'options' => [
'route' => '/users/:user_id/custom_stuffs[/][:custom_stuff_id[/]]',
'defaults' => [
'controller' => 'Wallet\\V1\\Rest\\CustomStuffs\\Controller',
],
],
],
],
],
that should be it
Originally posted by @Nguimjeu at https://github.com/zfcampus/zf-apigility/issues/187#issuecomment-443137073
I am using apigility 1.4.1 to create my rest api services.
In my case this is my routing url /users/[/:user_id]
and when i give user id with GET Http method it gives me that one particular user details.
and when i need all user details then i suppose to give /users with HTTP GET method
If it is user creation, then I will give /users and user details in request body with HTTP POST Method.
Above all are working fine for me, because apigility created routing and resource classes to receive request based on HTTP methods.
For example, If it is GET method with single entity it will route it to fetch method present in Resource class. If it is POST method with request body data then it route it to create method in Resource class.
But,
When I need to create routing url like users/[/:user_id]/reset_password
I don't know how to create it with my zend apigility rest api creator and where to receive that request and where to create my own controller to receive the request.
Can anyone please help me to do this. Thanks in advance.
Originally posted by @sarathbabuSwamynathan at https://github.com/zfcampus/zf-apigility/issues/187