diff --git a/backend/pom.xml b/backend/pom.xml
index cd152ec..9af52b9 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -44,6 +44,26 @@
org.springframework.boot
spring-boot-starter-aop
+ 2.1.2.RELEASE
+
+
+
+
+ io.springfox
+ springfox-swagger2
+ 2.9.2
+
+
+
+ com.google.guava
+ guava
+ 25.0-jre
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ 2.9.2
diff --git a/backend/src/main/java/com/onemda/onemdabackend/configuration/SpringFoxConfiguration.java b/backend/src/main/java/com/onemda/onemdabackend/configuration/SpringFoxConfiguration.java
new file mode 100644
index 0000000..8235d65
--- /dev/null
+++ b/backend/src/main/java/com/onemda/onemdabackend/configuration/SpringFoxConfiguration.java
@@ -0,0 +1,42 @@
+package com.onemda.onemdabackend.configuration;
+
+import java.util.Collections;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Contact;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@Configuration
+@EnableSwagger2
+public class SpringFoxConfiguration {
+
+ @Bean
+ public Docket apiDocket() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .select()
+ .apis(RequestHandlerSelectors.basePackage("com.onemda.onemdabackend")) //it will generate documentation for controllers as well as models
+ .paths(PathSelectors.any())
+ .build()
+ .apiInfo(getApiInfo()); // - This is to override default API infomation provided by Swagger
+ }
+
+ private ApiInfo getApiInfo() {
+ return new ApiInfo(
+ "Onemda API Details", //Title
+ "This is the API specification page of OneMda", //Description
+ "VERSION 1.0",
+ "TERMS OF SERVICE URL",
+ new Contact("OneMda","https://www.onemda.com.au/","onemda@onemda.com.au"),
+ "Reg No A0025065T",
+ "LICENSE URL",
+ Collections.emptyList()
+ );
+ }
+}
diff --git a/backend/src/main/java/com/onemda/onemdabackend/controller/CategoryServiceController.java b/backend/src/main/java/com/onemda/onemdabackend/controller/CategoryServiceController.java
index 4214bbd..4221406 100644
--- a/backend/src/main/java/com/onemda/onemdabackend/controller/CategoryServiceController.java
+++ b/backend/src/main/java/com/onemda/onemdabackend/controller/CategoryServiceController.java
@@ -11,10 +11,14 @@
import com.onemda.onemdabackend.model.ServiceCategory;
import com.onemda.onemdabackend.service.CategoryService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
@CrossOrigin
@RestController
@RequestMapping("/api/onemda")
+@Api(description = "Set of endpoints for dealing with service categories")
public class CategoryServiceController {
@Autowired
@@ -22,6 +26,7 @@ public class CategoryServiceController {
@CrossOrigin
@GetMapping("/categories")
+ @ApiOperation("Returns list of all the available service categories")
public List getAllServiceCategories(){
return categoryService.getAllTheServiceCategory();
}
diff --git a/backend/src/main/java/com/onemda/onemdabackend/controller/InstructorFeedbackController.java b/backend/src/main/java/com/onemda/onemdabackend/controller/InstructorFeedbackController.java
index ece5020..e684d61 100644
--- a/backend/src/main/java/com/onemda/onemdabackend/controller/InstructorFeedbackController.java
+++ b/backend/src/main/java/com/onemda/onemdabackend/controller/InstructorFeedbackController.java
@@ -14,10 +14,15 @@
import com.onemda.onemdabackend.model.InstructorFeedback;
import com.onemda.onemdabackend.service.InstructorFeedbackService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+
@CrossOrigin
@RestController
@RequestMapping("/api/onemda")
+@Api(description = "Set of endpoints for getting and posting instructor feedbacks")
public class InstructorFeedbackController {
@Autowired
@@ -25,12 +30,14 @@ public class InstructorFeedbackController {
@CrossOrigin
@PostMapping("/instructorfeedback")
- public void postInstructorFeedback(@RequestBody InstructorFeedback instructorFeedback){
+ @ApiOperation("Add instructor feedback into database")
+ public void postInstructorFeedback(@ApiParam("Instructor feedback to be added") @RequestBody InstructorFeedback instructorFeedback){
instructorFeedback.setSubmittedAt(new Date());
instructorFeedbackService.addInstructorFeedback(instructorFeedback);
}
@GetMapping("/instructorfeedback")
+ @ApiOperation("Returns all the instructor feedbacks available")
public List getInstructorFeedback(){
return instructorFeedbackService.getInstructorFeedback();
}
diff --git a/backend/src/main/java/com/onemda/onemdabackend/controller/ParticipantController.java b/backend/src/main/java/com/onemda/onemdabackend/controller/ParticipantController.java
index f029712..cbedcac 100644
--- a/backend/src/main/java/com/onemda/onemdabackend/controller/ParticipantController.java
+++ b/backend/src/main/java/com/onemda/onemdabackend/controller/ParticipantController.java
@@ -2,7 +2,6 @@
import java.util.List;
-import com.onemda.onemdabackend.service.ParticipantService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
@@ -10,10 +9,15 @@
import org.springframework.web.bind.annotation.RestController;
import com.onemda.onemdabackend.model.Participant;
+import com.onemda.onemdabackend.service.ParticipantService;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
@CrossOrigin
@RestController
@RequestMapping("/api/onemda")
+@Api(description = "Set of endpoints for dealing with participants")
public class ParticipantController {
@Autowired
@@ -21,6 +25,7 @@ public class ParticipantController {
@CrossOrigin
@GetMapping("/participants")
+ @ApiOperation("Returns list of all the participants")
public List getAllTheParticipants(){
return participantService.getAllTheParticipants();
}