/
drobash
/
AdBoard_service
Обзор
Документация
Войти
/
drobash
/
AdBoard_service
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/org/example/controller/AdvertisementController.java
77 строк
2 KB
dushesp
Создан сервис
14 апр 2025, 03:58
14 апр 2025, 03:58
568c930
Код
Авторство
О чём код?
package org.example.controller; import org.example.dto.request.AdvertisementRequestDto; import org.example.dto.response.AdvertisementResponseDto; import org.example.service.AdvertisementService; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/api/ads") @RequiredArgsConstructor public class AdvertisementController { private final AdvertisementService service; @PostMapping @ResponseStatus(HttpStatus.CREATED) public AdvertisementResponseDto createAd(@Valid @RequestBody AdvertisementRequestDto dto) { return service.create(dto); } @PutMapping("/{id}") public AdvertisementResponseDto editAd( @PathVariable Long id, @Valid @RequestBody AdvertisementRequestDto dto) { return service.edit(id, dto); } @DeleteMapping("/{id}") @ResponseStatus(HttpStatus.NO_CONTENT) public void deleteAd(@PathVariable Long id) { service.deleteAd(id); } @PatchMapping("/{id}/publish") public AdvertisementResponseDto publishAd(@PathVariable Long id) { return service.publish(id); } @PatchMapping("/{id}/archive") public AdvertisementResponseDto archiveAd(@PathVariable Long id) { return service.archiveAd(id); } @GetMapping("/{id}") public AdvertisementResponseDto getAdvertisementById(@PathVariable Long id) { return service.getAdvertisementById(id); } @GetMapping("/published") public Page<AdvertisementResponseDto> getPublishedAdvertisementSt(Pageable pageable) { return service.getPublishedAdvertisementSt(pageable); } @GetMapping("/seller/{sellerId}") public List<AdvertisementResponseDto> getAdvertisementBySellerId(@PathVariable Long sellerId) { return service.getAdvertisementBySellerId(sellerId); } @GetMapping("/search") public Page<AdvertisementResponseDto> searchAdvertisements( @RequestParam String keyword, Pageable pageable) { return service.searchAdvertisements(keyword, pageable); } // Keeping these for backward compatibility @GetMapping public Page<AdvertisementResponseDto> getAll(Pageable pageable) { return service.getPublishedAdvertisementSt(pageable); } }