Fetch form_params data from Guzzle post request in lumen api
In my laravel 5.7 app, I have a controller with the following method that sends a post request using GuzzleHttpClient to my lumen api.
public function insert(Request $request)
$domain = Config::get('url.gcr_api'); // gcr_api is defined in app/config/url.php
$url = $domain . "/api/v1/campaign/insert";
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$client = new Client;
$response = $client->request('POST', $url , [
'headers' => [
'X-XSRF-TOKEN' => csrf_token(),
],
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
]
);
$data = json_decode($response->getBody(), true);
return $data;
}
Here is the code for the lumen api that is called by the above method.
public function insert(Request $request)
try
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data);
$response = array(
'status' => 'success',
'message' => 'Campaign created successfully',
);
return response()->json($response);
catch(Exception $e)
// When query fails.
$response = array(
'status' => 'failed',
'message' => 'Failed to create campaign',
);
return response()->json($response);
I am getting this error everytime the insert method of my laravel app controller is called:
GuzzleHttp Exception ServerException (500) Server error:
POST
resulted in a
http://localhost:8000/api/v1/campaign/insert500
response:
Internal Server Error
I think the error has something to do with my lumen api not able to fetch form_params data, so I commented out this block of code in my lumen api code and error disappears:
/*$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data); */
But I need to fetch the form_params data in my lumen api, how do I do that?
laravel lumen guzzle
add a comment |
In my laravel 5.7 app, I have a controller with the following method that sends a post request using GuzzleHttpClient to my lumen api.
public function insert(Request $request)
$domain = Config::get('url.gcr_api'); // gcr_api is defined in app/config/url.php
$url = $domain . "/api/v1/campaign/insert";
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$client = new Client;
$response = $client->request('POST', $url , [
'headers' => [
'X-XSRF-TOKEN' => csrf_token(),
],
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
]
);
$data = json_decode($response->getBody(), true);
return $data;
}
Here is the code for the lumen api that is called by the above method.
public function insert(Request $request)
try
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data);
$response = array(
'status' => 'success',
'message' => 'Campaign created successfully',
);
return response()->json($response);
catch(Exception $e)
// When query fails.
$response = array(
'status' => 'failed',
'message' => 'Failed to create campaign',
);
return response()->json($response);
I am getting this error everytime the insert method of my laravel app controller is called:
GuzzleHttp Exception ServerException (500) Server error:
POST
resulted in a
http://localhost:8000/api/v1/campaign/insert500
response:
Internal Server Error
I think the error has something to do with my lumen api not able to fetch form_params data, so I commented out this block of code in my lumen api code and error disappears:
/*$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data); */
But I need to fetch the form_params data in my lumen api, how do I do that?
laravel lumen guzzle
add a comment |
In my laravel 5.7 app, I have a controller with the following method that sends a post request using GuzzleHttpClient to my lumen api.
public function insert(Request $request)
$domain = Config::get('url.gcr_api'); // gcr_api is defined in app/config/url.php
$url = $domain . "/api/v1/campaign/insert";
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$client = new Client;
$response = $client->request('POST', $url , [
'headers' => [
'X-XSRF-TOKEN' => csrf_token(),
],
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
]
);
$data = json_decode($response->getBody(), true);
return $data;
}
Here is the code for the lumen api that is called by the above method.
public function insert(Request $request)
try
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data);
$response = array(
'status' => 'success',
'message' => 'Campaign created successfully',
);
return response()->json($response);
catch(Exception $e)
// When query fails.
$response = array(
'status' => 'failed',
'message' => 'Failed to create campaign',
);
return response()->json($response);
I am getting this error everytime the insert method of my laravel app controller is called:
GuzzleHttp Exception ServerException (500) Server error:
POST
resulted in a
http://localhost:8000/api/v1/campaign/insert500
response:
Internal Server Error
I think the error has something to do with my lumen api not able to fetch form_params data, so I commented out this block of code in my lumen api code and error disappears:
/*$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data); */
But I need to fetch the form_params data in my lumen api, how do I do that?
laravel lumen guzzle
In my laravel 5.7 app, I have a controller with the following method that sends a post request using GuzzleHttpClient to my lumen api.
public function insert(Request $request)
$domain = Config::get('url.gcr_api'); // gcr_api is defined in app/config/url.php
$url = $domain . "/api/v1/campaign/insert";
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$client = new Client;
$response = $client->request('POST', $url , [
'headers' => [
'X-XSRF-TOKEN' => csrf_token(),
],
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
]
);
$data = json_decode($response->getBody(), true);
return $data;
}
Here is the code for the lumen api that is called by the above method.
public function insert(Request $request)
try
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data);
$response = array(
'status' => 'success',
'message' => 'Campaign created successfully',
);
return response()->json($response);
catch(Exception $e)
// When query fails.
$response = array(
'status' => 'failed',
'message' => 'Failed to create campaign',
);
return response()->json($response);
I am getting this error everytime the insert method of my laravel app controller is called:
GuzzleHttp Exception ServerException (500) Server error:
POST
resulted in a
http://localhost:8000/api/v1/campaign/insert500
response:
Internal Server Error
I think the error has something to do with my lumen api not able to fetch form_params data, so I commented out this block of code in my lumen api code and error disappears:
/*$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data); */
But I need to fetch the form_params data in my lumen api, how do I do that?
laravel lumen guzzle
laravel lumen guzzle
edited Nov 11 at 13:25
asked Nov 11 at 12:59
WorkarP
204
204
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Your assumption is partially correct, it can access the form_params, but the form_params you try to get differ from the actual parameters:
In order to pass the paramters you use the following array:
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
This array will set the value to $campaign_name
with the key 'name', and $campaign_provider
to bank_id
. Nothing wrong with this code so far.
However in your API you do the following:
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
However no key campaign_name
or campaign_provider
is present, since these have been changed to name
and bank_id
. So if you change this to the following it should work:
$campaign_name = $request->input('name');
$campaign_provider = $request->input('bank_id');
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248978%2ffetch-form-params-data-from-guzzle-post-request-in-lumen-api%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your assumption is partially correct, it can access the form_params, but the form_params you try to get differ from the actual parameters:
In order to pass the paramters you use the following array:
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
This array will set the value to $campaign_name
with the key 'name', and $campaign_provider
to bank_id
. Nothing wrong with this code so far.
However in your API you do the following:
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
However no key campaign_name
or campaign_provider
is present, since these have been changed to name
and bank_id
. So if you change this to the following it should work:
$campaign_name = $request->input('name');
$campaign_provider = $request->input('bank_id');
add a comment |
Your assumption is partially correct, it can access the form_params, but the form_params you try to get differ from the actual parameters:
In order to pass the paramters you use the following array:
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
This array will set the value to $campaign_name
with the key 'name', and $campaign_provider
to bank_id
. Nothing wrong with this code so far.
However in your API you do the following:
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
However no key campaign_name
or campaign_provider
is present, since these have been changed to name
and bank_id
. So if you change this to the following it should work:
$campaign_name = $request->input('name');
$campaign_provider = $request->input('bank_id');
add a comment |
Your assumption is partially correct, it can access the form_params, but the form_params you try to get differ from the actual parameters:
In order to pass the paramters you use the following array:
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
This array will set the value to $campaign_name
with the key 'name', and $campaign_provider
to bank_id
. Nothing wrong with this code so far.
However in your API you do the following:
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
However no key campaign_name
or campaign_provider
is present, since these have been changed to name
and bank_id
. So if you change this to the following it should work:
$campaign_name = $request->input('name');
$campaign_provider = $request->input('bank_id');
Your assumption is partially correct, it can access the form_params, but the form_params you try to get differ from the actual parameters:
In order to pass the paramters you use the following array:
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
This array will set the value to $campaign_name
with the key 'name', and $campaign_provider
to bank_id
. Nothing wrong with this code so far.
However in your API you do the following:
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
However no key campaign_name
or campaign_provider
is present, since these have been changed to name
and bank_id
. So if you change this to the following it should work:
$campaign_name = $request->input('name');
$campaign_provider = $request->input('bank_id');
answered Nov 12 at 10:05
Sven Hakvoort
2,0171519
2,0171519
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53248978%2ffetch-form-params-data-from-guzzle-post-request-in-lumen-api%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown