package ee.esutoniagodesu.web.rest.test; import ee.esutoniagodesu.pojo.test.compound.FilterCompoundParamsDTO; import ee.esutoniagodesu.pojo.test.compound.FilterCompoundSubmitDTO; import ee.esutoniagodesu.pojo.test.compound.KanjiCompound; import ee.esutoniagodesu.service.TestCompoundService; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import javax.inject.Inject; import javax.validation.Valid; import java.util.List; @RestController @RequestMapping(TestCompoundResource.BASE_URL) public class TestCompoundResource { public static final String BASE_URL = "/api/test/compound"; @Inject private TestCompoundService service; @RequestMapping(value = "/params", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public FilterCompoundParamsDTO getAllParams() { return service.params(); } @RequestMapping(value = "/form-default/{defaultId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<FilterCompoundSubmitDTO> getFormDefault(@PathVariable("defaultId") int defaultId) { FilterCompoundSubmitDTO result = service.getFormDefault(defaultId); if (result == null) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } return new ResponseEntity<>(result, HttpStatus.OK); } @RequestMapping(value = "/submit", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<List<KanjiCompound>> submit(@Valid @RequestBody FilterCompoundSubmitDTO submit) { List<KanjiCompound> result = service.submit(submit); return new ResponseEntity<>(result, HttpStatus.OK); } }