Magento – magento2: Creating custom Rest API POST method

apimagento2rest

I know how to create APIs with GET method, wondering how to create custom REST API with POST Method ??..

I have spend enough time into core module but didn't get anything from there(May be I am not understanding) so is there anybody who have some Idea about this..

How can we pass & get the confidential data from POST method in REST API ??

Best Answer

Do this tutorial and you will see - https://alankent.me/2015/07/24/creating-a-new-rest-web-service-in-magento-2/

Specifically follow closely where the array of float is passed through in the body of the HTTP request.

app/code/AlanKent/CalculatorWebService/etc/webapi.xml

<!-- Example: curl http://127.0.0.1/index.php/rest/V1/calculator/add/1/2 -->
<route url="/V1/calculator/add/:num1/:num2" method="GET">
    <service class="AlanKent\CalculatorWebService\Api\CalculatorInterface" method="add"/>
    <resources>
        <resource ref="anonymous"/>
    </resources>
</route>

<!-- Example: curl -d '{"nums":[1.1,2.2,3.3]}' -H 'Content-Type: application/json' http://127.0.0.1/index.php/rest/V1/calculator/sum -->
<route url="/V1/calculator/sum" method="POST">
    <service class="AlanKent\CalculatorWebService\Api\CalculatorInterface" method="sum"/>
    <resources>
        <resource ref="anonymous"/>
    </resources>
</route>
Related Topic