Created 09-09-2022 03:38 AM
I want to filter my rest api with date range. The rest api has dateFrom and dateTo parameters. I want to set dateFrom to 5 days ago and dateTo to now. How do i set the parameters in NiFi ?
My api looks like the below URL:
https://api.aa/reports/api/order_report/?format=json&dateFrom=&dateTo=
Created on 09-09-2022 11:01 AM - edited 09-09-2022 11:20 AM
Hi,
Not sure how you get the URL but if its hard coded in the InvokeHttp Remote URL property , then you can use expression language to set up your parameters as follows:
${literal('https://api.aa/reports/api/order_report/?format=json&dateFrom=#DATEFROM&dateTo=#DATETO'):
replace('#DATEFROM',${now():format('yyyy-MM-dd')}):
replace('#DATETO',${now():toNumber():minus(432000000):format("yyyy-MM-dd")})}
Notice:
- you can set the date format as desired, in my case I assumed that its in yyyy-MM-dd format.
- To subtract 5 days from the current date you have to convert the date to number , then subtract 5 days in milliseconds (1day = 86,400,000 mls ).
Hope that helps, if it does please accept solution.
Thanks
Created on 09-09-2022 11:01 AM - edited 09-09-2022 11:20 AM
Hi,
Not sure how you get the URL but if its hard coded in the InvokeHttp Remote URL property , then you can use expression language to set up your parameters as follows:
${literal('https://api.aa/reports/api/order_report/?format=json&dateFrom=#DATEFROM&dateTo=#DATETO'):
replace('#DATEFROM',${now():format('yyyy-MM-dd')}):
replace('#DATETO',${now():toNumber():minus(432000000):format("yyyy-MM-dd")})}
Notice:
- you can set the date format as desired, in my case I assumed that its in yyyy-MM-dd format.
- To subtract 5 days from the current date you have to convert the date to number , then subtract 5 days in milliseconds (1day = 86,400,000 mls ).
Hope that helps, if it does please accept solution.
Thanks