Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 25 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Download JDK from [adoptium.net](https://adoptium.net/temurin/releases/)

## How to compile the project
```
JAVA_HOME=/home/user/JDK/jdk-17 ./gradlew clean jar
JAVA_HOME=/home/user/JDK/jdk-21 ./gradlew clean jar
```

## For Developers
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.intland.codebeamer.controller.rest.internal.v2.customization;

import com.intland.codebeamer.controller.rest.v2.AbstractRestController;
import com.intland.codebeamer.controller.rest.v2.exception.TooManyRequestsException;
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.apache.log4j.Logger;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@OpenAPIDefinition
@RestController
@RequestMapping(AbstractRestController.API_URI_V3)
public class ExampleController extends AbstractRestController
{
public static final Logger logger = Logger.getLogger(ExampleController.class);

@Operation(summary = "Get example greetings", tags = "Example")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "OK "),
@ApiResponse(responseCode = "403", description = "Authentication is required"),
@ApiResponse(responseCode = "404", description = "Not found"),
@ApiResponse(responseCode = "429", description = "Too many requests", content = @Content(schema = @Schema(implementation = TooManyRequestsException.class)))
})
@RequestMapping(value = "example", method = RequestMethod.GET, produces = MediaType.TEXT_PLAIN_VALUE)
public @ResponseBody String getHello() {
return "Hello PTC!";
}
}
3 changes: 3 additions & 0 deletions example-swagger-api/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Example GET Swagger API Endpoint

When called, it returns 'Hello PTC!'.
3 changes: 3 additions & 0 deletions example-swagger-api/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id 'java-library'
}
3 changes: 3 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@ include ':my-openapi-project'
include ':my-file-processor'
include ':my-gitpr-project'
include ':customization-rest-controller'
include ':welcome-api'
include ':example-swagger-api'

3 changes: 3 additions & 0 deletions welcome-api/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Say Hello API

Saying Hello PTC upon calling it.
3 changes: 3 additions & 0 deletions welcome-api/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
plugins {
id 'java-library'
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.intland.codebeamer.controller.rest.internal.v2.customization;

import com.intland.codebeamer.controller.rest.v2.AbstractRestController;
import com.intland.codebeamer.controller.rest.v2.exception.*;
import org.apache.log4j.Logger;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;

@OpenAPIDefinition
@RestController
@RequestMapping(AbstractRestController.API_URI_V3)
public class ExampleController extends AbstractRestController
{
public static final Logger logger = Logger.getLogger(ExampleController.class);

@Operation(summary = "Get example greetings", tags = "Example")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "OK "),
@ApiResponse(responseCode = "403", description = "Authentication is required"),
@ApiResponse(responseCode = "404", description = "Not found"),
@ApiResponse(responseCode = "429", description = "Too many requests", content = @Content(schema = @Schema(implementation = TooManyRequestsException.class)))
})
@RequestMapping(value = "example", method = RequestMethod.GET, produces = MediaType.TEXT_PLAIN_VALUE)
public @ResponseBody String getHello() {
return "Hello PTC!";
}
}