Server-side Endpoints API definitions must conform to a number of syntactic rules. Android Studio knows these and validates your code as you type to help you avoid making mistakes. Android Studio provides Endpoints-specific inspections and quick-fixes.
As-you-type code validation
For example, the default backend type App Engine Java Endpoints Module
contains the following minimal annotated Endpoints API located in your project
at <backend-name>/src/main/java/<package-name>/MyEndpoint.java
:
import javax.inject.Named;
@Api(name = "myApi", version = "v1",
namespace = @ApiNamespace(ownerDomain = "<package-name>",
ownerName = "<package-name>",
packagePath=""))
public class MyEndpoint {
@ApiMethod(name = "sayHi")
public MyBean sayHi(@Named("name") String name) {
MyBean response = new MyBean();
response.setData("Hi, " + name);
return response;
}
}
In the code, @Named
is required for all non-entity type parameters passed to
server-side methods. If you forget to add this annotation when modifying
sayHi
in this code, Android Studio will underline the problematic statement
as you type, as shown below:
Quick fixes
To help you avoid some of the more common Cloud Endpoints development mistakes,
Android Studio provides quick fixes. To see these quick fix suggestions, press
Alt + Enter if you’re running on Linux/Windows, or ⌥ + Enter
if you’re running on a Mac. For example, here is Android Studio displaying a
quick fix for the missing @Named
annotation shown in the above code sample:
As expected, choosing the first quick fix (Add @Named
) adds @Named
to the
method parameter.