These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

New ESI API, good but not REST

Author
Ashtar Veres
The Library Association
Wormlife
#1 - 2017-02-02 11:59:41 UTC  |  Edited by: Ashtar Veres
I'm happy CCP has released the new API. It has decent documentation via swagger and lots of info you can get with it.
But why doesn't it behave as REST API should behave?

For example: I'm trying to find the region Id for Jita, assuming I know Jita systemId I would expect to make the following request:

host/api/systems/:systemId 

Now actually this endpoint do exist. But the result will be only the system name. Well, it is an important info. But now I'd like also to find the stations in system so I would expect to make the next request:
host/api/systems/:systemId/stations 

Now this endpoint simply do not exist. As well as the option for example to find regionId for specific system. This could easily be solved by adding regionId and constellationId to the results of the first endpoint

There are more examples I can find but what I'm really trying to say that REST API is a known practice. Why not follow it as CCP followed with swagger for example and with SSO?
Messenger Of Truth
Butlerian Crusade
#2 - 2017-02-02 19:10:45 UTC
REST only means a stateless client-server communications protocol. It doesn't make any requirements on the naming of the URLs.

Trade Hub Price Checker: stop.hammerti.me.uk/pricecheck

Visit "Haulers Channel" in game for all matters courier-related.

Structure name/system API: stop.hammerti.me.uk/api

Ashtar Veres
The Library Association
Wormlife
#3 - 2017-02-03 06:15:52 UTC  |  Edited by: Ashtar Veres
Agree, after reading the definition of REST you are right on paper.
Still pretty weak API.

EDIT: partially right. There is no real sealed standard on how to write REST API. But there are common guidelined in the industry. CCP ESI does not follow them fully.

EDIT 2: of all what I wrote you chose to react about the topic Blink