(1) Servlet Code
(1) Servlet Code
```java
@WebServlet(urlPatterns = "/api/search")
public class ItemSearchServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
String query = request.getParameter("query");
// ...
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String itemDtoListJson = objectMapper.writeValueAsString(itemDtoList);
out.print(itemDtoListJson);
out.flush();
}
}
```
```java
@WebServlet(urlPatterns = "/user/login")
public class UserLoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// ...
}
}
```
```java
@WebServlet(urlPatterns = "/user/logout")
public class UserLogoutServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// ...
}
}
```
```java
@WebServlet(urlPatterns = "/user/signup")
public class UserSingUpServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
// ...
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
// ...
}
}
```
(2) Controller Code
```java
@Controller
public class ItemSearchController {
@GetMapping("/api/search")
@ResponseBody
public List<ItemDto> getItems(@RequestParam String query) throws IOException {
// ...
return itemDtoList;
}
}
```
API 이름마다 파일을 만들 필요 없음
[예제]
(2) Controller Code
API 마다 파일을 만들 필요 없음
함수 이름도 내 마음대로 설정 가능~!!! (단, 클래스 내의 중복함수명 불가)
@Controller
public class UserController {
@GetMapping("/user/login")
public String login() {
// ...
}
@GetMapping("/user/logout")
public String logout() {
// ...
}
@GetMapping("/user/signup")
public String signup() {
// ...
}
@PostMapping("/user/signup")
public String registerUser(SignupRequestDto requestDto) {
// ...
}
}