Why Some Companies Insist All APIs Use POST – Benefits, Drawbacks & Best Practices

The article examines why certain companies mandate POST for every API, comparing GET and POST across security, payload size, data types, performance, and proper usage, and offers practical guidelines for designing sensible HTTP method conventions.

Java High-Performance Architecture
Java High-Performance Architecture
Java High-Performance Architecture
Why Some Companies Insist All APIs Use POST – Benefits, Drawbacks & Best Practices

While browsing Zhihu I encountered the question: “Why does the company require all interfaces to use POST?”

Original question: https://www.zhihu.com/question/336797348

Having built a micro‑service from scratch at age 19, I applied familiar RESTful conventions, which sparked my curiosity about this rule.

Reviewing the differences between GET and POST requests reveals:

POST is more secure because parameters are not part of the URL, avoiding caching, server‑log storage, and browser history.

POST can carry larger payloads; GET is limited by URL length.

POST supports more data types, while GET is limited to ASCII characters.

POST is generally slower than GET.

POST is intended for creating or updating data; GET is suited for searching, sorting, and filtering.

GET requests for static resources may be cached, whereas data‑fetching GET requests are typically not cached.

Thus, POST excels for large or sensitive payloads, whereas GET is ideal for retrieving static resources or simple queries.

In my own development practice I use GET for simple queries and POST for create, update, delete, or complex queries, but I avoid forcing every endpoint to be POST as some companies do.

A community member, 程墨Morgan, suggested following industry best practices when defining API standards:

Another comment argued that the rule exists to accommodate low‑level, unambitious architects and developers.

If you were designing your company’s API guidelines, would you enforce POST for every endpoint, and why?

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

best practicesapi-designHTTP methodsPOST vs GET
Java High-Performance Architecture
Written by

Java High-Performance Architecture

Sharing Java development articles and resources, including SSM architecture and the Spring ecosystem (Spring Boot, Spring Cloud, MyBatis, Dubbo, Docker), Zookeeper, Redis, architecture design, microservices, message queues, Git, etc.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.