Skip to content
This repository was archived by the owner on Oct 8, 2023. It is now read-only.

Commit b5a8c0d

Browse files
committed
Document interface
1 parent 158bedc commit b5a8c0d

File tree

6 files changed

+31
-0
lines changed

6 files changed

+31
-0
lines changed

src/main/java/com/github/kaklakariada/aws/lambda/controller/HeaderValue.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
import java.lang.annotation.Retention;
2424
import java.lang.annotation.Target;
2525

26+
/**
27+
* Get the header value with the given name.
28+
*/
2629
@Retention(RUNTIME)
2730
@Target(PARAMETER)
2831
public @interface HeaderValue {

src/main/java/com/github/kaklakariada/aws/lambda/controller/LambdaController.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,9 @@
1717
*/
1818
package com.github.kaklakariada.aws.lambda.controller;
1919

20+
/**
21+
* Marker interface for lambda controllers. Controller must have exactly one
22+
* method annotated with {@link RequestHandlerMethod}.
23+
*/
2024
public interface LambdaController {
2125
}

src/main/java/com/github/kaklakariada/aws/lambda/controller/PathParameter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
import java.lang.annotation.Retention;
2424
import java.lang.annotation.Target;
2525

26+
/**
27+
* Get the path parameter with the given name.
28+
*/
2629
@Retention(RUNTIME)
2730
@Target(PARAMETER)
2831
public @interface PathParameter {

src/main/java/com/github/kaklakariada/aws/lambda/controller/QueryStringParameter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
import java.lang.annotation.Retention;
2424
import java.lang.annotation.Target;
2525

26+
/**
27+
* Get the query string with the given name.
28+
*/
2629
@Retention(RUNTIME)
2730
@Target(PARAMETER)
2831
public @interface QueryStringParameter {

src/main/java/com/github/kaklakariada/aws/lambda/controller/RequestBody.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
import java.lang.annotation.Retention;
2424
import java.lang.annotation.Target;
2525

26+
/**
27+
* Get the request body.
28+
*/
2629
@Retention(RUNTIME)
2730
@Target(PARAMETER)
2831
public @interface RequestBody {

src/main/java/com/github/kaklakariada/aws/lambda/controller/RequestHandlerMethod.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,21 @@
2323
import java.lang.annotation.Retention;
2424
import java.lang.annotation.Target;
2525

26+
import com.amazonaws.services.lambda.runtime.Context;
27+
import com.github.kaklakariada.aws.lambda.model.request.ApiGatewayRequest;
28+
29+
/**
30+
* Marks a method of a {@link LambdaController} as the request handler.
31+
* Supported method arguments:
32+
* <ul>
33+
* <li>Type {@link ApiGatewayRequest}
34+
* <li>Type {@link Context}
35+
* <li>Argument annotation {@link RequestBody}
36+
* <li>Argument annotation {@link HeaderValue}
37+
* <li>Argument annotation {@link PathParameter}
38+
* <li>Argument annotation {@link QueryStringParameter}
39+
* </ul>
40+
*/
2641
@Retention(RUNTIME)
2742
@Target(METHOD)
2843
public @interface RequestHandlerMethod {

0 commit comments

Comments
 (0)