# Coding assistance for REST development

Besides the common [Web services support](web-services.html), IntelliJ IDEA provides the following facilities for developing RESTful Web services:

* Code completion for MIME type

* [Code inspections and quick fixes](#codeInspections)

* Dedicated [HTTP Client in IntelliJ IDEA Code Editor](#httpClientToolWIndow)

## Code Inspection and Quick Fixes

IntelliJ IDEA supports [code inspections](code-inspection.html) and suggests [quick fixes](resolving-problems.html) in the following cases:

|  Issue  |  Default Quick Fix  |
| --- | --- |
|  Inconsistency between a method annotation and the method return type: a `@GET` annotated method returns void value.  |  Change to String.  |
|  Resource methods errors.  |  Remove `@Path` annotation.  |
|  Incorrect parameter type.  |  Validation for parameters annotated with `@QueryParam` or `@PathParam` annotations.  |
|  `@DefaultValue` issues.  |     ```JAVA @GET public String get(@DefaultValue("33.5") @QueryParam("str") int str) {     return "Hello"; } ```   `DefaultValue` is marked red with the description "Can't convert to int".  |
|  Rest `@Path` and `@PathParam` annotations inspections.  |
|  Rest References resolve problems.  |  References in `@PathParam` annotations are resolved to templates in `@Path` annotations  |
|  This method should have only one HTTP method designator.  |  Example:    ```JAVA @GET @POST public String get(){     return "Hello"; } ```   `@POST` is marked red.  |

## HTTP Client in Code Editor

The dedicated [HTTP Client](http-client-in-product-code-editor.html) provides the following facilities for working with HTTP requests:

* Gutter icons ![Generate request in HTTP Client](https://resources.jetbrains.com/help/img/idea/2026.2/app.icons.web.newui.requestMapping%4014x14.svg) for request method designator annotations, such as `@GET`, `@PUT`, `@POST`, or `@DELETE` to quickly compose and execute requests.

* Displaying server responses and the executed requests history

* [Completing](auto-completing-code.html) the HTTP request parts from the `@Path` and `@Produces` annotations specified in the Java code

| Change in the Java code | Change in the HTTP request in editor |
| --- | --- |
|  `@Path` annotation is updated.  |     The contents of the `Request-URI` suggestion list change when you invoke code completion `Ctrl+Space` (Windows), `⌃ Space` (macOS), `⌃ Space` (IntelliJ IDEA Classic (macOS)), `⌃ Space` (macOS System Shortcuts), `Ctrl+Space` (XWin), `Ctrl+Space` (GNOME), `Ctrl+Space` (KDE), `Alt+/` (Emacs), `Ctrl+Space` (Sublime Text), `⌃ Space` (Sublime Text (macOS)), `Ctrl+Space` (NetBeans), `Ctrl+Space` (Visual Studio), `⌃ Space` (Visual Studio (macOS)), `Ctrl+Space` (Eclipse), `⌃ Space` (Eclipse (macOS)).     |
|  `@Produces` annotation is updated.  |     The contents of the `Accept` header field suggestion list change when you invoke code completion `Ctrl+Space` (Windows), `⌃ Space` (macOS), `⌃ Space` (IntelliJ IDEA Classic (macOS)), `⌃ Space` (macOS System Shortcuts), `Ctrl+Space` (XWin), `Ctrl+Space` (GNOME), `Ctrl+Space` (KDE), `Alt+/` (Emacs), `Ctrl+Space` (Sublime Text), `⌃ Space` (Sublime Text (macOS)), `Ctrl+Space` (NetBeans), `Ctrl+Space` (Visual Studio), `⌃ Space` (Visual Studio (macOS)), `Ctrl+Space` (Eclipse), `⌃ Space` (Eclipse (macOS)).     |

## See also

### Procedures

[RESTful web services](restful-webservices.html)  [Web services](web-services.html)

