Class AnswerRestService

java.lang.Object
com.amos2020.javabackend.rest_service.AnswerRestService

@RestController
@Validated
@CrossOrigin
public class AnswerRestService
extends java.lang.Object
Provides endpoints for the answer resource under /answer
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private AnswerController answerController  
  • Constructor Summary

    Constructors 
    Constructor Description
    AnswerRestService​(AnswerController answerController)  
  • Method Summary

    Modifier and Type Method Description
    org.springframework.http.ResponseEntity<BasicAnswerResponse> createAnswer​(@Valid CreateAnswerRequest request)
    POST Endpoint for creating an empty Answer
    org.springframework.http.ResponseEntity<java.util.List<BasicAnswerResponse>> getAllAnswers()
    GET Endpoint for fetching all existing Answers
    org.springframework.http.ResponseEntity<BasicAnswerResponse> getAnswerByIds​(@javax.validation.constraints.Min(1L) int interviewId, @javax.validation.constraints.Min(1L) int questionId)
    GET Endpoint for receiving an Answers by its question and interview id
    org.springframework.http.ResponseEntity<java.util.List<BasicAnswerResponse>> getAnswersByInterviewId​(@javax.validation.constraints.Min(1L) int interviewId)
    GET Endpoint for receiving a list of Answers associated with a specific Interview
    org.springframework.http.ResponseEntity<BasicAnswerResponse> updateAnswer​(@javax.validation.constraints.Min(1L) int interviewId, @javax.validation.constraints.Min(1L) int questionId, @Valid UpdateAnswerRequest request)
    PUT Endpoint for updating an Answer

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • getAnswersByInterviewId

      @GetMapping("/answers/interview/{id}") public org.springframework.http.ResponseEntity<java.util.List<BasicAnswerResponse>> getAnswersByInterviewId​(@PathVariable("id") @Min(1L) @javax.validation.constraints.Min(1L) int interviewId)
      GET Endpoint for receiving a list of Answers associated with a specific Interview
      Parameters:
      interviewId - int
      Returns:
      ResponseEntity containing a list with BasicAnswerResponses
    • getAnswerByIds

      @GetMapping("/answers/interview/{id1}/question/{id2}") public org.springframework.http.ResponseEntity<BasicAnswerResponse> getAnswerByIds​(@PathVariable("id1") @Min(1L) @javax.validation.constraints.Min(1L) int interviewId, @PathVariable("id2") @Min(1L) @javax.validation.constraints.Min(1L) int questionId)
      GET Endpoint for receiving an Answers by its question and interview id
      Parameters:
      interviewId - int
      questionId - int
      Returns:
      ResponseEntity containing the Answer
    • createAnswer

      @PostMapping("/answers") public org.springframework.http.ResponseEntity<BasicAnswerResponse> createAnswer​(@RequestBody @Valid @Valid CreateAnswerRequest request)
      POST Endpoint for creating an empty Answer
      Returns:
      ResponseEntity with Answer
    • updateAnswer

      @PutMapping("/answers/interview/{id1}/question/{id2}") public org.springframework.http.ResponseEntity<BasicAnswerResponse> updateAnswer​(@PathVariable("id1") @Min(1L) @javax.validation.constraints.Min(1L) int interviewId, @PathVariable("id2") @Min(1L) @javax.validation.constraints.Min(1L) int questionId, @RequestBody @Valid @Valid UpdateAnswerRequest request)
      PUT Endpoint for updating an Answer
      Parameters:
      interviewId - int
      questionId - int
      request - BasicAnswerResponse
      Returns:
      Updated Answer
    • getAllAnswers

      @GetMapping("/answers") public org.springframework.http.ResponseEntity<java.util.List<BasicAnswerResponse>> getAllAnswers()
      GET Endpoint for fetching all existing Answers
      Returns:
      ResponseEntity with list of Answers