Coverage Summary for Class: SearchController (io.github.mkuchin.controller)
Class | Class, % | Method, % | Line, % |
---|---|---|---|
SearchController | 100% (1/ 1) | 100% (2/ 2) | 100% (3/ 3) |
1 package io.github.mkuchin.controller;
2
3 import io.github.mkuchin.model.SearchCommand;
4 import io.github.mkuchin.model.CountListResource;
5 import io.github.mkuchin.service.word.WordCountService;
6 import lombok.RequiredArgsConstructor;
7 import org.springframework.core.convert.ConversionService;
8 import org.springframework.web.bind.annotation.PostMapping;
9 import org.springframework.web.bind.annotation.RequestBody;
10 import org.springframework.web.bind.annotation.RequestMapping;
11 import org.springframework.web.bind.annotation.RestController;
12
13 @RestController
14 @RequestMapping("/search")
15 @RequiredArgsConstructor
16 public class SearchController {
17
18 private final WordCountService wordCountService;
19 private final ConversionService conversionService;
20
21 @PostMapping
22 public CountListResource search(@RequestBody SearchCommand command) {
23 var map = wordCountService.getWordCount(command.getSearchText());
24 return conversionService.convert(map, CountListResource.class);
25 }
26 }