본문 바로가기

Playlist/Open API

(21)
TheSportConfig (현재 사용하지 않음) */domain/content/global/config 리팩토링을 통해 WebClientConfig로 통일하여 사용하지 않는 코드 import io.netty.channel.ChannelOption;import io.netty.handler.timeout.ReadTimeoutHandler;import io.netty.handler.timeout.WriteTimeoutHandler;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.spri..
TheSportsConfig.java (현재 사용하지 않음) */domain/content/global/config import io.netty.channel.ChannelOption;import io.netty.handler.timeout.ReadTimeoutHandler;import io.netty.handler.timeout.WriteTimeoutHandler;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.http.client.reactive.ReactorCl..
WebClientConfig */domain/content/global/config import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.reactive.function.client.WebClient;@Configurationpublic class WebClientConfig { @Bean public WebClient webClient() { return WebClient.builder().build(); }}
TmdbController */domain/content/api/controller 호출용import com.codeit.playlist.domain.content.batch.ContentScheduler;import lombok.RequiredArgsConstructor;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequiredArgsConstructorpublic class TmdbController { private final ContentScheduler scheduler; @GetMapping("") publ..
TheSportMapper */domain/content/api/mapper import com.codeit.playlist.domain.content.api.response.TheSportResponse;import com.codeit.playlist.domain.content.entity.Content;import org.mapstruct.Mapper;import org.mapstruct.Mapping;@Mapper(componentModel = "spring")public interface TheSportMapper { @Mapping(target = "apiId", source = "theSportResponse.idEvent") @Mapping(target = "type", source = "type") ..
TmdbMapper */domain/content/api/mapper import com.codeit.playlist.domain.content.api.response.TheMovieResponse;import com.codeit.playlist.domain.content.api.response.TvSeriesResponse;import com.codeit.playlist.domain.content.entity.Content;import org.mapstruct.Mapper;import org.mapstruct.Mapping;@Mapper(componentModel = "spring")public interface TmdbMapper { @Mapping(target = "apiId", source = "theMovie..
TheSport : ListResponse, Response */domain/content/api/response TheSportListResponse.javaimport com.fasterxml.jackson.annotation.JsonProperty;import java.util.List;public record TheSportListResponse( @JsonProperty("events") List events) {} TheSportResponse.javaimport com.fasterxml.jackson.annotation.JsonProperty;public record TheSportResponse( @JsonProperty("idEvent") String idEvent, // id @JsonProperty("str..
TvSeries : ListResponse, Response */domain/content/api/response TvSeriesListResponse.javaimport com.fasterxml.jackson.annotation.JsonProperty;import java.util.List;public record TvSeriesListResponse( @JsonProperty("results") List results, @JsonProperty("page") int page, @JsonProperty("total_pages") int totalPages, @JsonProperty("total_results") int totalResults) {} TvSeriesResponse.javaimport com.fa..