Skip to content
Snippets Groups Projects
Commit e303fdd2 authored by HyunjinNoh's avatar HyunjinNoh
Browse files

musicSearch

parent b82f663a
No related branches found
No related tags found
No related merge requests found
Pipeline #8253 canceled
CREATE DATABASE webdev default CHARACTER SET UTF8 collate utf8_general_ci;
\ No newline at end of file
package kr.ajousw.myspringweb.controller;
import java.io.IOException;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;
import kr.ajousw.myspringweb.dto.MusicList;
@RestController
public class MyWebController {
@GetMapping(value="/musicSearch/{term}")
public String musicSearch(@PathVariable String term) {
RestTemplate restTemplate = new RestTemplate();
String url = "https://itunes.apple.com/search?term=" + term + "&entity=album";
try {
String res = restTemplate.getForObject(url, String.class);
ObjectMapper mapper = new ObjectMapper();
MusicList list = mapper.readValue(res, MusicList.class);
String ret = mapper.writeValueAsString(list);
return ret;
} catch(IOException e) {
System.out.println(e.toString());
}
return "{\"resultCount\":0, \"results\":[]}";
}
}
package kr.ajousw.myspringweb.dto;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class MusicList {
private Integer resultCount;
private List<Map<String, Object>> results;
}
package kr.ajousw.myspringweb.entity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Entity
@Table(name="favoriteMusic")
@Getter
@Setter
@ToString
public class FavoriteMusic {
@Id
@Column(length=32)
private String collectionId;
@Column
private String collectionType;
@Column
private String artistId;
@Column
private String artistName;
@Column
private String artistViewUrl;
@Column
private String collectionName;
@Column
private String collectionViewUrl;
}
package kr.ajousw.myspringweb.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import kr.ajousw.myspringweb.entity.FavoriteMusic;
public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String> {
List<FavoriteMusic> findAll();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment