PostMan is NOT CI / CD

PostMan is NOT CI / CD

Calling an API, serving that API endpoint and mocking an api endpoint are all not the same thing. But the people at Postman seem to think they are (or at least they MARKET them as all being the same thing).

Postman is a tool for MOCKING API's via OpenApi in a separate app from your environment. It enables:

  • mocks for static api docs
  • mocking for unit tests

Postman is NOT Continuous Integration/Development

As it does all this in a separate app from your environment/architecture, it has no ability for continuous integration/continuous development; it exists outside the development lifecycle.

Now some of you have said 'so does EVERY IDE'. UNTRUE!

IDE stands for INTEGRATED development environment. For example, Intellij and Eclipse both allow you to run your server in a console so you can develop and test at the same time. Postman does not do this! There is no integration.

If you look at Postmans page on CI/CD, you will notice they require you to install:

  • an additional Nodejs server
  • and a secondary app call Newman

Any developer with even a a SMALL AMOUNT OF EXPERIENCE with an HTTP request will find this LAUGHABLE as you can call an API with CURL (or even a script) without installing a secondary server and app.

Also, It is NOT a server/architecture. At best, you are merely creating MOCKDATA for Unit testing via OpenApi docs which is (as the lead of OpenApi spec has stated) 'a static design doc'

No alt text provided for this image

PostMan is NOT ROLE-Based API Docs

If you are claiming it creates documentation, you are creating STATIC documentation. Everytime your endpoints change (which they do frequently) that document has to reflect it EXACTLY... and it has to allow for ROLES so people with different preivileges see different docs. It does NEITHER OF THESE! Proper documentation should be dynamic so that users see the API docs as they currently are for the roles/privileges they have.

A proper way to generated docs is dynamically like in the BeAPI framework where the docs are based on ROLES and are autogenerated from the MVC (not static docs):

Postman is NOT Integration Testing

I recently had someone tell me that Postman did integration testing... but the whole point behind integration testing is in the name: 'integration'. Postman is not a server and thus it cannot DO integration tests... it can merely make an API call (like a browser).

If an 'integration test' fails during a commit/build, it will throw an error that can bubble up and you have to check the stacktrace / test and see what failed and what is wrong. Postman cannot run integration tests on your builds because it is a separate app (not within your architectural call flow). So it will NEVER be called when doing a commit or build so you cannot do integration tests with Postman!

Everytime I tried to mention this on the Postman forums or even on their currently running Postman Galaxy event, I immediately got booted; why would they not want people to know their functionality? because they are running a campaign of disinformation to make people think their tool does more... when it does not.

Making HTTP Calls with Postman

This doesn't mean it can't make an HTTP call to a preexisting 3rd party API; any script can do this. But it cannot CREATE/SERVE API ENDPOINTS. In other words, those MOCKS it creates cannot be called outside of the tool. They are static ... and only the Postman tool can see or use them.

Postman is strictly a tool for creating Unit Tests for API's. This is what Postman EXCELS at. If you were to use it for anything, this is the one thing you would use it for.

This is also what the tool was designed for. But for some reason people think it is meant for creating API's. It does not.

George Jeffcock

Specialist Solution Engineer at MuleSoft

4 年

As always the truth is somewhere inbetween two peoples truths. Owen Rubel respectfully imo you do your undoubted skill, enthusiasm, experience deservice by your delivery. Your findings are important and you could shape the API world more with more honey and less vinegar, frustrating maybe but just the way of the world. On Postman it might be clunky to the purist but have you considered their audience in the future is not the purist but the mass of less and less technical users who the IT world is transforming too whether we like it or not? Postman Flow will remove the need to learn javascript to chain api calls in the future, examine why Postman is doing this.

回复

IMHO, OpenAPI is just to document the API, and it requires constant updating. There are tools out there to generate the server interface for various languages using the OpenAPI spec, but syncing the document and the implementation details is another ordeal. Postman is only good for demo, otherwise use curl or any existing portable HTTP library if you need more flexibility. Postman for automated testing is too heavy based on my experience.

回复

要查看或添加评论,请登录

Owen Rubel - API EXPERT的更多文章

  • API Hiring Checklist (Part 2)

    API Hiring Checklist (Part 2)

    In part 1, we discussed things that people should know and what to ask when hiring for an api developer. In this part…

  • API Hiring Checklist (Part 1)

    API Hiring Checklist (Part 1)

    When hiring an api architect or developer, there is a certain amount of knowledge they should have walking into a…

  • Why API Call Flow is HARD

    Why API Call Flow is HARD

    The other day I was talking about api call flow and the person I was chatting with had a very difficult time…

  • Software Coding Styles

    Software Coding Styles

    Even though we all use good coding standards, the way we all develop software shines through based upon what we are…

  • The OpenAPI Incident

    The OpenAPI Incident

    The discourse surrounding internal redirects has emerged as a significant point of contention in the API development…

  • OpenApi Doesnt Understand Redirection

    OpenApi Doesnt Understand Redirection

    Recently, Openapi maintainers insisted there was no such thing as 'internal redirects'..

    20 条评论
  • APIs: Internal vs External Redirect

    APIs: Internal vs External Redirect

    Recently it came to light that the OpenAPI project maintainers were completely ignorant of 'internal redirects' to the…

  • Why Are My Apis Slow??

    Why Are My Apis Slow??

    When building apis these days, nearly everyone leans on two services: nodejs and/or AWS Lambdas. And as a result of…

  • OpenAPI Arazzo : Non-functional Call Flows

    OpenAPI Arazzo : Non-functional Call Flows

    So you by now have seen the drama. I opened an issue with Openapi Arazzo project talking about how they didn't address…

  • OpenAPI says Roy Fielding is WRONG!

    OpenAPI says Roy Fielding is WRONG!

    So as you all know, #OpenAPI maintainers love when I point out the issues with their 'standard' ..

社区洞察

其他会员也浏览了