HTTP methods are not decoration. They are part of the contract. And when an API ignores that contract, debugging turns into guesswork.
This test is deliberately boring. Rentgen sends requests using methods that should not be supported — and checks whether the API tells the truth about it.
What was tested
Rentgen sends requests to an endpoint using unsupported HTTP methods
(for example PUT, DELETE, or PATCH
where only GET or POST is expected).
A well-behaved API should respond clearly:
405 Method Not Allowed— when the endpoint exists but does not support the method501 Not Implemented— when the method is not implemented at all
What Rentgen found
- TEST: Unsupported HTTP Method Handling
- Expected:
405 Method Not Allowedor501 Not Implemented - Actual result:
200 OK - Verdict: 🔴 Fail
Why it’s a fail (not a warning)
Returning 200 OK for an unsupported method is not harmless.
It means the API is pretending everything is fine — when it is not.
This breaks one of the most important debugging assumptions: that the response status code reflects reality.
Once that trust is gone, every client-side error becomes harder to diagnose.
What’s the real cost?
Not a security breach. Something more common.
Imagine this:
- You accidentally use the wrong HTTP method
- You get
400 Bad Requestor even200 OK - You spend 30 minutes debugging the payload
- You validate fields, headers, JSON structure
- Everything looks fine
And then you realize the real problem: the method was wrong.
That is wasted time — pure friction caused by an API that refuses to be explicit.
What does the industry expect?
HTTP is very clear about this. Correct method handling has been standard practice for years.
Most mature frameworks and API gateways already support this behavior out of the box:
Spring, ASP.NET, Express, API gateways, and cloud load balancers
all know how to return 405 correctly.
When APIs don’t, it’s usually not a conscious decision — it’s a missing configuration or a forgotten default.
Why do teams keep missing it?
Because everything still “works”.
The UI loads. The happy path passes. No alerts fire.
Method handling bugs only show up when something goes slightly wrong — and most teams don’t test those paths at all.
How others usually handle this
Many teams rely on frameworks to do the right thing. Others validate methods manually inside controllers.
The problem is not the solution. The problem is that this behavior is rarely verified.
How to fix it
The fix is usually trivial:
- Ensure unsupported methods are explicitly rejected
- Return
405 Method Not Allowedwith a correctAllowheader when applicable - Do not reuse generic
400or200responses
The exact configuration depends on your stack, but the goal is always the same: be honest with the client.
Why I put this into Rentgen
Because this is one of those issues that everyone understands — but nobody checks.
Until one day a simple mistake turns into half an hour of debugging and a frustrated engineer wondering what went wrong.
Rentgen treats this as a failure by default because: it’s easy to detect, easy to fix, and expensive to ignore.
Final thoughts
Correct method handling won’t make your API faster. It won’t add features. It won’t impress anyone in a demo.
But it will save real engineering time — which is usually the most expensive thing you have.