The Swagger UI provides the corresponding cURL command, which can be used in the commandline. It is possible to send the request directly from within the documentation. If there is one for the API you want to test, it's not a big deal to import it into Swagger UI to get a dynamic REST API client. Luckily it's pretty usual to provide Open API specifications for REST APIs.
The fact that SOAP UI provides support for SOAP APIs as well as for REST APIs is a good argument if you have to deal with both types of API in your daily work.
SOAP UI is available in an open source edition as well as in a paid pro version. SOAP UIĪ tool which has quite a history is SOAP UI.īesides sending SOAP requests, it also offers the possibility to send requests to REST APIs.Īnother interesting feature is to mock APIs for local testing. If you use it regularly, you can do pretty cool things with it - but if you don't use it for a longer time, you can start to learn it again.Īt least this is my impression while trying to send some requests as a demo for this blog post. I have to admit that JMeter is mighty but hard to learn. JMeter offers the possibility to group requests, to extract values from responses and to perform checks. Usually, the GUI is used to define the tests, which can then run as a load test via CLI.įor directly sending some parametrized requests to a REST API, the GUI is pretty sufficient. The tool provides a GUI as well as a CLI mode. It can also be used to send ad-hoc requests, but its main strength is related to automated load tests. In the area of load tests, JUnit is a well known tool. Therefore it's good to know that it's there, but I don't use it too often. It can be used for ad-hoc requests sent manually from the commandline as well as for script based automation of sending HTTP requests, parsing the response and evaluating the result.ĬURL is a very convenient tool for simple use cases like sending a single ad-hoc request to a REST API.Ĭompared to other tools, it lacks usual features. cURLĪ very basic commandline tool for sending HTTP requests is cURL, which is part of many Linux distributions as well as MacOS and even Windows 10. So please consider this as my personal opinion.
This article is explicitly not a tool comparison which lists all features and compares them in detail. I will describe these tools in the following sections briefly. To be more concrete, it's about cURL, JMeter, SOAP UI, Swagger UI, Postman and IntelliJ Idea. That's why I would like to have a short look at several tools which I already used for testing REST APIs.
A regular task in the life of a software developer is to choose appropriate tools for specific use cases.