UCSBCurriculumController.java

  1. package edu.ucsb.cs156.courses.controllers;

  2. import edu.ucsb.cs156.courses.repositories.UserRepository;
  3. import edu.ucsb.cs156.courses.services.UCSBCurriculumService;
  4. import io.swagger.v3.oas.annotations.Operation;
  5. import io.swagger.v3.oas.annotations.tags.Tag;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.http.ResponseEntity;
  9. import org.springframework.web.bind.annotation.GetMapping;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.RequestParam;
  12. import org.springframework.web.bind.annotation.RestController;

  13. @Tag(name = "UCSBCurriculumController")
  14. @RestController
  15. @RequestMapping("/api/public")
  16. @Slf4j
  17. public class UCSBCurriculumController extends ApiController {

  18.   @Autowired UserRepository userRepository;
  19.   @Autowired UCSBCurriculumService ucsbCurriculumService;

  20.   @Operation(summary = "Get course data for a given quarter, department, and level")
  21.   @GetMapping(value = "/basicsearch", produces = "application/json")
  22.   public ResponseEntity<String> basicsearch(
  23.       @RequestParam String qtr, @RequestParam String dept, @RequestParam String level)
  24.       throws Exception {

  25.     String body = ucsbCurriculumService.getJSON(dept, qtr, level);

  26.     return ResponseEntity.ok().body(body);
  27.   }
  28. }