How to use the same Integration Response as Method Response? - aws-api-gateway

I've set some APIs by importing Swagger document. it indeed defined the responses, but only in all API's Method Response while all API's Integration Response has a default response which returns 200OK.
therefore, all my APIs return 200OK.
How can I configure that all Integration Responses will be the same as Method Responses rather than configure them all manually? Maybe there is an option to configure this during The Swagger importing?

Related

SugarCRM get_entry_list REST API call using REST client or POSTMAN

I am going thru the documentation and examples related to calling REST APIs for SugarCRM using Chrome REST client or PostMan but most of the examples are PHP and I am not finding a good way to find a proper request and other parameters to be mentioned so that I can get the successful response from the API. I was trying get_entry_list. Can someone please help by providing a working REST API request for this API which I can run on REST client or postman?
I also would like to know if I want to build a SugarCRM connector for my application, which set of APIs I should use? Should I go with REST or SOAP and any supporting arguments to choose one over another?
Thanks

How handle html responses in a Restful Api

I am working on a large api, it tries to be restful (and for most part it succeeds), one of our client requires a term of service in html format.
Is it ok to have a endpoint that returns html in a restful json api? Are there better alternatives?
I believe it's best to have the client dictate the content type via Accept header in the HTTP request. You can default to application/json and have the client call the API they require with a text/html Accept header.
It is okay for RESTful services to return any media type, as long as the API itself is agnostic of it.

Expose Rest API as SOAP in WSO2 ESB

I have a Rest Api (Python/flask) that send response in json.
I need to POST a request with 3 parameters (body) using Soap, but I don't know about Soap and I don't understand the samples.
Can I just use a mediator to "translate" my Rest Api into a Soap Api ?
How can I test the Post request with SoapUi ? Do I need to use a wsdl file ?
I just need entry point documentation.
thanks.
You will need a WSDL to define your operation/web-service i.e SOAP Request incl 3 parameters. I use eclipse with the Web Tools plug in to create WSDLS. Then you'll need to get SOAP --> New Soap Project, and include the wsdl. LEt me know when you get there , and we can continue!
You will need to define your operations of the SOAP web service in a WSDL. Then you can create a new project in SOAPUI with this WSDL. Follow http://www.soapui.org/soap-and-wsdl/operations-and-requests.html on how to create a request for a particular operation.
In ESB you can create an API for your REST service (https://docs.wso2.com/display/ESB481/Creating+APIs). Now you need to use a payloadfactor mediator in your API in sequence to transform your SOAP(XML) request to JSON (https://docs.wso2.com/display/ESB481/PayloadFactory+Mediator). Then, this JSON request will be sent to the REST backend. If you again need to transfer the JSON response from the backend to SOAP, include another payload factory mediator to transform.

REST based Website

I have to create 2 different websites that would use REST api to interact with a single MySQL database.
I know how to create website with forms..etc using PHP.
How would I use REST api for my websites.I searched and found out that there are libraries for android to use REST api but how to do so in case of a website ?
REST is a architectural pattern, it is not (by itself) an API. APIs can implement REST.
Just like any other API out there, you have to get the documentation for the API and then call it from your source.
Depending on what your requirements are, you may be calling it from javascript or from your PHP backend.
REST is an architecture pattern (you can read more about it at wikipedia) which aims to use HTTP verbs like PUT, POST and DELETE to execute commands against endpoints which represent a resource.
To use REST, your backend server will send normal HTTP requests to the API service; so in PHP this means using the various curl libraries to send requests.
Responses are generally in json; but they could be in any other format (or even in binary) - check with the API documentation that you have to consume.
If all you want is interacting with a REST API, then you need a HTTP client, probably cURL (PHP has a cURL lib). After that you have to check whether your API violates the HATEOAS constraint. If not, then it is called hypermedia API. In that case you have to follow hyperlinks provided by the API in the responses. If it violates the constraint, then it is called web API, and you have to build the method, URL, etc... on the client side again, so your client will break easily by any structural changes of the API. Everything else depends on the message format and the semantic annotations the API uses.
If you want to build a REST API, I strongly suggest you to learn more about the topic. First read the Fielding diessertation and check some existing solutions like HAL or Hydra+JSON-LD. Forget the tutorials. Most information available on the web about how to implement a REST API is flawed.

Show REST documentation if Content-Type differs application/json

Is it a good idea to show documentation of a particular REST resource if clients Content-Type is other than application/json? I mean, if a developer tries to fetch a REST resource URL in browser he gets something like this.
Although this is open for discussion but in my opinion that would be a bad idea. The whole purpose of a RESTful API is to expose your application interface for other developers to use. Some developer look at http header to determine if certain route of your REST API existed regardless of the content-type. If I request for a text/plain, I would expected to receive a 404/NotFound if you don't have it and not a documentation with a 200/OK. Although, I suppose it could be useful for manual API testing with browser.