Call another rest api from my server in Ktor - rest

I want to call another web-api from my backend on a specific request of user.
How can I achieve this in Ktor. Like in spring boot we use Rest Template, but how can I do the same in Ktor.
Reference Article for doing the same in spring boot: (Call another rest api from my server in Spring-Boot)

You can use ktor http client
val client = HttpClient(CIO)
val response: HttpResponse = client.get("https://ktor.io/")
println(response.status)
client.close()
Making HTTP requests in ktor
Example

Use an HTTP client like Unirest to make the call to the other web api
Unirest.get("https://reqres.in/api/users/1").asString();
https://kong.github.io/unirest-java/

Related

Localhost Spring Boot service not found

I am studying Spring Cloud and I am developing a study project.
I create a project that represents a simple REST API using Spring Boot and I run this in localhost.
I also created another project API Gateway, this one gets the request coming and calls the REST API, I am also running this one in localhost.
When I run the REST API and send a request to it, it responds properly, but if I send the request to API Gateway when API Gateway tries to call the REST API using RestTemplate it is getting this exception:
java.lang.IllegalStateException: No instances available for localhost
Both services are running in localhost.
Do anyone knows what is the cause of this error?

Application Request Routing (ARR) with HTTP Methods and Mule

I'm trying to redirect messages internet URL with the Application Request Routing (ARR), the component to the IIS in Windows Server.
I want to redirect that messages by the HTTP Method. Example:
HTTP POST: http://XXX.XXX.XXX.XX:7050/api/createUser
HTTP DELETE: http://XXX.XXX.XXX.XX:7050/api/deleteUser
HTTP PUT: http://XXX.XXX.XXX.XX:7050/api/modifyUser
The endpoint will be Mule (REST API Service with RAML).
Is it possible to make this filter?
I think you could do it by using choice router with this MEL expression #[message.inboundProperties.'http.method'] ?

How can i receive the REST API request in Mule?

I have used local JIRA Server and i am using Webhook integration concept in JIRA. Here i am giving the Webhook URL is "localhost:8081/webhook" and Event is Create and Update issue. when i am create or update issue means it will be pass to "localhost:8081/webhook". The same address only i gave in mule also but its not working in my MULE. Mule didn't listen the webservice. How can i USE REST API in mule. Which flow is used for receive the JSON format REST API data. It's possible means how can i do this work.
By far the easiest way to do this in Mule now is to use the new Api Kit and write your service description in RAML.
Intro material with docs and examples at: ww.mulesoft.org/documentation/display/current/APIkit
The mule http components may be outboud e.g call your rest api or inbound where the mule server will listen for an event on a http port and url
You say mule is not listening, you should be able to quite simply setup a mule inbound http component flow .. and trigger this flow by pointing your browser at it. I think you will find mule is listening correctly, and you may have mis-configured some of your settings?

WSO2 ESB Expose a REST API keeping URI part

Say I have a REST API hosted on a webserver:
someone.com/api/
I want to expose this REST API through a proxy service using WSO2 ESB.
esb.com/api/
It should forward whatever is after esb.com/api/. So if I hit:
esb.com/api/param1/param2
It should hit the real service using:
someone.com/api/param1/param2
How do I pass the URI parts to the real webservice from a proxy service?
Don't try to use Proxy services for REST API. Proxy Services are for the Web Services. Use API s avialable in WSO2 ESB which are similar to proxy services and intended for REST API. This Oxygen Tank article and this sample document will be useful for you.

I have a REST client APi but no detail on how the REST service is implemented . What technology do i use to make it useful for any implementation

So i have a assignment to write some REST client calls to a REST web service which does not exist.
To work around it i created a mock web service using Jersey. But i am not sure what technology the actual REST service would use.
Please advise on what technology should i use to send down the REST calls to the server.
Also if possible also give me a sample of how to send down a XML GET request to the REST service.
Thanks much for the help.
Please advise on what technology should i use to send down the REST calls to the server.
REST is HTTP. You can use anything that sends HTTP requests:
Jersey Client
Any web browser
cURL
telnet
carrier pigeon
...
Also if possible also give me a sample of how to send down a XML GET request to the REST service.
It's just an HTTP GET request. How it's built/generated/sent depends on what library and programming language you're writing the client in. But the actual request itself would look something like this:
GET /foo/bar/baz HTTP/1.1
Host: www.example.com
Accept: text/xml
As far as I know Both Java and .Net environment has the tools to generate WebServices (SOAP and rest). What's your client development language ?
REST :Representational state transfer in simple terms used to send data between client and server . As
Client use some persistent URL for communication and it is stateless communication .
Java uses Jersey, the reference implementation of JAX-RS, implements support for the annotations defined in JSR 311, making it easy for developers to build RESTful web services by using the Java programming language.
So All u have to use for creating services is just some dependencies , bean configuration and some annotations (To Expose Service ) .
For calling REST Service , u can either call from browser . Browsers like (chrome ,mozilla ) provide some plugins to calling REST service or u can create a client to call REST Service .