Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails: What is an API's endpoint?

I am doing the CodeSchool course on Rails API's and they often mention the word 'endpoint' but never define it. Can someone give a clear and concise definition of it and provide an example of a request reaching an end point in the context of Rails?

like image 517
chopper draw lion4 Avatar asked Nov 23 '14 06:11

chopper draw lion4


People also ask

What is an API endpoint?

When an API interacts with another system, the touchpoints of this communication are considered endpoints. For APIs, an endpoint can include a URL of a server or service. Each endpoint is the location from which APIs can access the resources they need to carry out their function.

What is an endpoint API example?

An API Endpoint is the URL for a server or a service. These APIs operate through responses and requests — that is you make a request and the API Endpoint makes a response. A simple example of this is this particular Websites and article. The Websites is Medium, and your Web Browser makes a request for the content.

How do I find my API endpoint?

Through the dataset URL: You can get the API endpoint by simply taking the dataset's UID and replacing it in this string: https://domain/resource/UID.extension *where the extension is the data format you's like to pull the data as.


1 Answers

An endpoint, as I imagine they may be using it in this course, is simply a route defined by your rails application. In terms of an API (which can mean many things and is worth further research on your part), hitting that endpoint will serve up a resource from your application, or perform some form of action. An example may explain this better..

Say we have an application that handles users and we want our API to expose the users resource. If we follow RESTful convention for our API we will expose seven distinct 'endpoints' linked to seven distinct 'actions' (index, show, create, update, destroy, new, edit) surrounding users.

When building our API, we would make is so anyone who visits "www.myapp.com/users" via a get request is returned some data representation of all users in our application. "/users" is the endpoint. Likewise performing a post action to "/users" with valid data is how we create new users. "/users" is still the endpoint but under different context. If you wanted data for just a single user, it may look something like "www.myapp.com/users/1" in which case "/users/1" is the endpoint.

It is important to keep in mind that this example merely follows convention and is not an end all be all.

I would check out the Rails guide on routing if you want more information - http://guides.rubyonrails.org/routing.html

like image 146
bscharm Avatar answered Nov 14 '22 13:11

bscharm