TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Should we rebrand REST?

123 pointsby bshanksalmost 4 years ago

30 comments

quantifiedalmost 4 years ago
I wholeheartedly agree with the majority of this. In my experience “REST” has been like a religion in which hardly anyone either read the founding text or bothered to interpret very much of it. Fielding’s thesis does not require all of what adherents have claimed it does. An API does not a priori need to adhere to any sect of “REST”, though for many use cases it will benefit. For example, a machine-to-machine API might well have verb URLs to execute something. That’s verboten, a sin but not an excommunicating taboo, in “REST”. The torch carriers can get very specific about a great many aspects, too. I find it refreshing when someone makes good use of HTTP in a way that REST would forbid. For example, if memory serves, Elasticsearch’s search API uses a GET verb, appropriate for retrieving, with a request body to provide information that would be super awkward in the URI. This API is not intended for UI usage, so why not do this?<p>User interfaces can very much benefit from strategic adoption of application state transitions modeled via hypermedia-style links, that’s entirely different.<p>How likely is it, however, that even if Roy wrote an article in a major publication and gave talks at conferences about what’s not really REST, the community would change its use of “RESTful”?
评论 #27287661 未加载
评论 #27316079 未加载
评论 #27292875 未加载
andrewmcwattersalmost 4 years ago
This is all pedantry. I don&#x27;t think I&#x27;ve ever talked to a developer who cares.<p>All people care about is whether or not you have a sane API to work with over HTTP. It uses appropriate verbs, maybe, and has meaningful endpoints and request and response objects you work with, hopefully.<p>You can make up a new acronym for it like &quot;WNI&quot; or Web Negotiation Interface, but it doesn&#x27;t change anything that people care about.<p>There are bigger problems in the world. No need to keep redefining dirt.<p>If you spend a considerable amount of time pondering such things, it&#x27;s probably a sign that you need to be growing somewhere else in life and using those skills to enhance your existing ones.<p>Have tires really changed that much in 200 years?
评论 #27301458 未加载
评论 #27300820 未加载
评论 #27307535 未加载
评论 #27300215 未加载
评论 #27300178 未加载
评论 #27304865 未加载
tuxie_almost 4 years ago
The author suggests that &quot;there&#x27;s just far too much confusion about what REST means to rescue it&quot; and suggests differentiating APIs in 2 other categories instead, but in my opinion this not only introduces more confusion, but even there doesn&#x27;t seem to be any constrain that would prevent the same confusion from arising again. There&#x27;s no library to enforce a certain standard. It&#x27;s just another set of well-intentioned guidelines.<p>In a few years we would be reading &quot;should we rebrand Hypermedia APIs?&quot; kind of blog posts.
评论 #27287655 未加载
评论 #27300850 未加载
vfc1almost 4 years ago
I don&#x27;t think anyone cares, really. It&#x27;s a well established name, people knows what it means a REST-style API. It&#x27;s not perfect, but nothing is, it&#x27;s good enough. Let&#x27;s not change its name, what would be the benefit of it?<p>It would only cause even more confusion for no good reason.
评论 #27287773 未加载
评论 #27287667 未加载
评论 #27287663 未加载
fmakunboundalmost 4 years ago
No, it does not deserve a rebrand. It owns the ecosystem of shit that it brought about over the last two decades.<p>I cannot tell you how many meetings I&#x27;ve sat through where engineers have wasted time on discussing the RESTiness of a given &quot;API&quot; call, or which verb makes the most sense.<p>Anyway, we&#x27;re only a couple of years of group think away from adopting something like JSON-RPC and then it&#x27;s welcome back to 1999 for all.
评论 #27294443 未加载
评论 #27293725 未加载
评论 #27295212 未加载
jayd16almost 4 years ago
Can we just stop jerking off about what is and isn&#x27;t REST and instead just focus on the pros and cons of any given API?<p>RESTfulness is a useful pattern with some clear advantages. Its not a commandment.
Gunaxalmost 4 years ago
The term really is a bit too academic to understand for a lot of people who are unfamiliar with API design, but comes down to fairly simple concepts when explained in plain language.<p>I compare it to how monads have an ivory tower definition (the famous &#x27;A monad is just a monoid in the category of endofunctors!&#x27;) for mathematicians, but can be explained in practical terms much more helpfully, even if that loses some theory.<p>Years ago I edited the Wikipedia page--it has always been thorny. The trouble is that the definition of REST is so abstract as to be completely meaningless to the average person reading the article.<p>If you hate using your finite lifespan on something useful, read the talk page. You will find this same edit war playing out over 10+ years between the theorists (&#x27;a style of client-server stateless API design where resources undergo state transitions&#x27;) and the realists who (mis-) define it as a HTTP api.<p>Even though the theorists are correct, I think it&#x27;s important to recognize that Wikipedia is going to be the first source of for literally millions of people. It would be a tragedy to not acknowledge that.
fooycalmost 4 years ago
REST is largely over-hyped as an API design. REST fundamentally represents data transfers. No business can be modeled purely as data transfers.<p>CRUD API would be a good name.
评论 #27294322 未加载
评论 #27296000 未加载
Communitivityalmost 4 years ago
&quot;there&#x27;s just far too much confusion about what REST means to rescue it&quot;<p>No, there is no confusing. REST is exactly what&#x27;s in Roy Fielding&#x27;s thesis. Anything as is derived from REST, often with dismal ends. RESTful, RESTlike, RESTish are weasel words designed to say something along the lines of &#x27;It&#x27;s REST, but with these additions&#x27;, or &#x27;It&#x27;s REST, but with these constraints loosened&#x27;, or a mix of both.<p>I was there at the beginning of SOA in 2004 and SOA then was an amazingly useful concept that worked well. The term SOA was hijacked to mean so many things, often by consultants pitching their version of SOA enablement or training, and at a rapid pace. By 2009 the meaning of SOA was so buzzwordy and clouded that people were trying to invent new terms to refer to the original concept.<p>If someone wants to create a new thing, create a new thing and give attribution to the shoulders you stand on (i.e., ABC is based on REST but is different in these ways..1,2,3).
评论 #27293695 未加载
shp0nglealmost 4 years ago
People really misunderstand REST, at least as in the original thesis.<p>The original thesis was <i>for the web</i>. It was not meant for microservice JSON APIs.<p>And the web <i>is REST</i>. HTTP, built for web, is REST. The REST principles are integrated in HTTP protocol itself, for I think two decades now.<p>The arguments &quot;is this API RESTful&quot; are nonsense.<p>...but yeah the article says the same, now that I actually read it.<p>...now, let&#x27;s discuss what &quot;agile&quot; means. Or, maybe not.
评论 #27293508 未加载
评论 #27287927 未加载
Zababaalmost 4 years ago
The point about the World Wide Web being an implementation of REST was really interesting, and now that I think about it web pages are one of the few things that usually respect HATEOAS. I&#x27;m reminded of one article by the author of intercooler.js and htmx, &quot;HATEOAS is for Humans&quot; (<a href="https:&#x2F;&#x2F;intercoolerjs.org&#x2F;2016&#x2F;05&#x2F;08&#x2F;hatoeas-is-for-humans.html" rel="nofollow">https:&#x2F;&#x2F;intercoolerjs.org&#x2F;2016&#x2F;05&#x2F;08&#x2F;hatoeas-is-for-humans.h...</a>), that made the same point but that I didn&#x27;t understand fully when I read it.
einrealistalmost 4 years ago
Well-written article. Its always fun to inspire coworkers&#x2F;peers to actually read Fielding&#x27;s dissertation and then have a proper discussion about what REST actually is&#x2F;means. There are those who get it and are eager to think about the architectural side of the networked apps they work on&#x2F;with. And then there are those who just want to code &#x2F; get things done. I can&#x27;t be angry about the latter ones. But thinking more about architectural implications would bring us forward in the long term.<p>Whenever I use or write an OpenAPI&#x2F;Swagger definition, my heart breaks. At least it gets work done. But that&#x27;s also the reason why I personally still prefer good old server-side rendered HTML with progressive enhancement. There is so much overhead involved in defining some arbitrary HTTP API and then have a UI in some overly complex way. HTML is such a powerful tool to drive the client (the Browser).
sergioisidoroalmost 4 years ago
Rebranding misses the point, because most people who claim to provide a REST API are actually providing web API that completely misses many of the rest principles.<p>What we need to do is retrain everyone to use the more general term &quot;Web API&quot; and reclaim the term &quot;rest&quot; for architecture and design decision discussions.
评论 #27287679 未加载
评论 #27288165 未加载
spentualmost 4 years ago
For years I have called my APIs &quot;HTTP API&quot; as they usually do not follow the abstract definition of the REST. And because I&#x27;ve seen so many APIs being called REST that barely follow any definition of a sane API.<p>The whole term is used by people as synonym for an API by management and by developers who never took closer look of the definition&#x2F;paper.<p>I think that the situation is bit like in OOP, TDD and many other things that cause flame wars. When something good ideas come up, people tend to be religious about it. Instead of taking good ideas and utilize them for better solutions, we take things to extreme and fight about tiniest things.
DonHopkinsalmost 4 years ago
How about simply using &quot;BEST Practices&quot;?<p>The trademark &quot;YOU&#x27;VE TRIED THE REST, NOW TRY THE BEST&quot; is officially abandoned, so that&#x27;s available.<p><a href="https:&#x2F;&#x2F;trademark.trademarkia.com&#x2F;youve-tried-the-rest-now-try-the-best-85894317.html" rel="nofollow">https:&#x2F;&#x2F;trademark.trademarkia.com&#x2F;youve-tried-the-rest-now-t...</a>
评论 #27287605 未加载
francislavoiealmost 4 years ago
I&#x27;ve given up on REST and I build all my new APIs with JSON-RPC. <a href="https:&#x2F;&#x2F;www.jsonrpc.org&#x2F;specification" rel="nofollow">https:&#x2F;&#x2F;www.jsonrpc.org&#x2F;specification</a> Super simple.<p>I&#x27;m not a fan of the complexity things like gRPC introduce to most languages (the PHP tooling is horrible for example), and I really don&#x27;t like the limitations of HTTP verbs and the box that trying to confirm to CRUD puts you in.
评论 #27288390 未加载
评论 #27305584 未加载
crubieralmost 4 years ago
I’ve been in GraphQL land for 4-5 years now, and all these discussions about restfulness, Http and other details make me cringe.<p>It feels like watching apes fighting about whether the cylinder goes in the triangle or star-shaped hole. It does not fit! Realize this and move on!<p>Unless your company is only about CRUD (with no JOINs), the Rest model is severely limited or mismatched to your business domain.<p>Just use GraphQL already. It’s actually simple, I promise! Self documenting, introspectable, supports so much code generation and validation tools, etc...<p>I know I’ll get downvoted for saying this, the HN crowd thinks « GraphQL = complicated » for some reason.
评论 #27298014 未加载
评论 #27297774 未加载
codetrotteralmost 4 years ago
&gt; REST is just the coolest thing in web service API design right now, isn&#x27;t it?<p>Is it? I still make my APIs REST-like, but I think in terms of “coolness”, GraphQL is more appealing to people isn’t it? Personally I reason that in my APIs GraphQL would be extra complexity for no benefit in my specific use-cases so far. And REST-like serves me well. But for me I choose this way because of ergonomics and because it allows me to implement the things I do with about the least amount of complexity. Coolness doesn’t play a part anymore. But if it did I would surely think GraphQL would be more cool.
评论 #27287545 未加载
0xbadcafebeealmost 4 years ago
&gt; Client applications would not need to be hard-coded with any domain-specific knowledge of the server-side APIs they interact with. Instead, they would discover all the available resources and operations dynamically, at runtime. A client application developed for one hypermedia API could be easily forked and modified for another hypermedia-driven web service. And &quot;smart clients&quot;, which are capable of consuming any hypermedia API with a common grammar, could become a reality.<p>This is WSDL and WADL, basically, except there&#x27;s no common grammar to render a usable interface. The only real thing like what is described is a browser.<p>If you want a universal interface, you make a web app, and the browser is the universal UI. Otherwise you just make a crappy console app and a crappy custom protocol using a HTTP API (or if you hate compatibility, simplicity and convenience: gRPC).<p>To answer the poster&#x27;s question, no, we&#x27;re not going to rebrand REST. There are tons of improperly used terms that have been around for ages, they do not get rebranded. You just have to make a new thing and give it a new name and hope that it too isn&#x27;t misused. (&quot;DevOps&quot; is the most glaring example to me, but also add &quot;hacker&quot;, &quot;crypto&quot;, &quot;web&quot;, &quot;cloud&quot;, &quot;container&quot;, etc)
scrumperalmost 4 years ago
This is interesting, and I broadly agree with Kieran&#x27;s complaints about the quasi-REST-lite that passes for web APIs today.<p>Sadly there&#x27;s not much tooling or guidance around to try and encourage people to do REST properly. It&#x27;s really not done well at migrating out of academia, as the author points out, and that&#x27;s starting to look like a missed opportunity for industry. Other comments here seem to tacitly accept that (lots of &quot;Oh well... is what it is.&quot;) Everyone&#x27;s learned to operate within the status quo, but it&#x27;s quite costly for API consumers to deal with a range of idiosyncratic APIs (and it&#x27;s bad for providers too: trying to produce something ergonomic and consumable takes significant effort). Hypermedia would make a lot of that cost go away by making APIs inherently discoverable and eliminating all those unique client libraries and boilerplate.<p>(Plug follows)<p>To try and address that and, in the process, nudge the world towards building and using true hypermedia APIs, I and a couple friends started building <a href="https:&#x2F;&#x2F;intertron.dev" rel="nofollow">https:&#x2F;&#x2F;intertron.dev</a> - a mechanism to turn any web API into a proper, hypermedia REST API. Contact us on that page if this is a topic of interest, we&#x27;d love to talk. We can let you have a play with the pre-launch version too.
评论 #27294156 未加载
评论 #27301578 未加载
mybridalmost 4 years ago
It has been my experience that most programming terms end up being business or marketing driven if they gain much traction. My pet peeve at one time is API. This term contains the word &quot;interface&quot;, meaning external code will interface with your code. However, business calls everything an API and it means a unit of software work from their perspective. Probably the goofiest one is AI. When people say they are using AI it doesn&#x27;t tell me anything. What is a VM? Python, Perl and other interpreted languages are said to run in a VM. Isn&#x27;t a container a VM? A container is just host OS VM. I remember when VMWare only had host OS VMs until they came out with the Hypervisor VM, ESXi. Docker is a brand of container and both are VMs. The point is that it is human nature that any word that becomes popularized will take on business and marketing purposes. You just have to roll with it unless one is expressly carrying out technical communication, then clarity of definition does matter.
coldcoldgroundalmost 4 years ago
This gets my vote!<p>I&#x27;ve always felt a little silly to have &quot;REST&quot; included in my resume because too many job descriptions mentioned it as a requirement. Once during an interview, I couldn&#x27;t resist to challenge the interviewer asking me about &quot;RESTful APIs&quot; that I had built in the past, and I explained pretty much the same thing to him. Thankfully, he was quite open to admit that what most people are doing is not REST.
datavirtuealmost 4 years ago
Reminds me of OOP.<p>&quot;Misrepresentation of the REST architecture has spread so far and wide that &quot;REST&quot; has come to be informally understood as a synonym for &quot;HTTP&quot;.&quot;<p>Misrepresentation of OOP has spread so far and wide that &quot;OOP&quot; has come to be informally understood as a synonym for using class based languages.
评论 #27307681 未加载
dw-im-herealmost 4 years ago
We should rebrand REST to Rest to emphasize that the original meaning is lost and that we just use it as a shorthand for a http like API. When it comes to web it&#x27;s best to set our standards as low as possible because being right doesn&#x27;t seem to have any advantage over being wrong wrt adoption.
jslakroalmost 4 years ago
Interesting that other post available in the same blog is about... rebranding javascript -_-
bborudalmost 4 years ago
HTTP API is awkward to pronounce. Why not call it Web API?
评论 #27301185 未加载
zmixalmost 4 years ago
...and call it RESET?
pjmlpalmost 4 years ago
Yeah, what about JSON-RPC? &#x2F;s
kuualmost 4 years ago
TLDR: REST != web service APIs
评论 #27290010 未加载
rualcaalmost 4 years ago
It makes absolutely no sense to even suggest that REST should be rebranded &quot;HTTP API&quot; or even &quot;hypermedia API&quot; because REST is neither protocol-specific nor is &quot;hypermedia&quot; the only (or even main) design trait.<p>It&#x27;s like someone who is entirely unfamiliar with REST feels compelled to make bold statements about traits he doesn&#x27;t fully grasp.
评论 #27287528 未加载
评论 #27287765 未加载