21. 스카우트 목록 추가
- 스카우트 entity 생성
package com.example.entity;
더보기
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Entity
@Setter
@Getter
@NoArgsConstructor
@ToString
@SequenceGenerator(name = "SEQ_SCOUT_NUM", sequenceName = "SEQ_SCOUT_NUM", initialValue = 1, allocationSize = 1)
@Table(name = "SCOUT")
public class Scout {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_SCOUT_NUM")
@Column(name = "SCOUTNO")
private Long scoutno = 0L;
@ManyToOne
@JoinColumn
private Player player;
@ManyToOne
@JoinColumn
private Member member;
}
- 스카우트 저장소 생성
package com.example.repository;
import com.example.entity.Scout;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ScoutRepository extends JpaRepository<Scout, Long>{
}
- 스카우트 서비스 생성, 스카우트 목록 추가 구현
ScoutService
package com.example.service;
import com.example.entity.Scout;
import org.springframework.stereotype.Service;
@Service
public interface ScoutService {
// 스카우트 추가
public void insertScout(Scout scout);
}
ScoutServiceImpl
package com.example.service;
import com.example.entity.Scout;
import com.example.repository.ScoutRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ScoutServiceImpl implements ScoutService{
@Autowired
ScoutRepository sRepository;
// 스카우트 추가
@Override
public void insertScout(Scout scout) {
sRepository.save(scout);
}
}
- 스카우트 목록 추가 생성(ScoutController)
스카우트 추가는 member만 가능하다.
package com.example.controller;
더보기
import java.util.HashMap;
import java.util.Map;
import com.example.entity.Member;
import com.example.entity.Player;
import com.example.entity.Scout;
import com.example.jwt.JwtUtil;
import com.example.service.MemberService;
import com.example.service.PlayerService;
import com.example.service.ScoutService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ScoutController {
@Autowired
JwtUtil jwtUtil;
@Autowired
ScoutService sService;
@Autowired
MemberService mService;
@Autowired
PlayerService pService;
// 스카우트 목록 추가
// 127.0.0.1:8080/REST/scoutinsert
@RequestMapping(value = "/scoutinsert", method = {RequestMethod.POST},
consumes = MediaType.ALL_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public Map<String, Object> scoutinsertPOST(
@RequestBody Scout scout,
@RequestHeader("token") String token){
Map<String, Object> map = new HashMap<String, Object>();
try{
String memberid = jwtUtil.extractUsername(token); // 토큰을 통해 회원 정보 찾기
Member member = mService.selectUserOne(memberid); // member 정보 찾기
if(memberid.equals(member.getUserid())){
Long pno = scout.getPlayer().getPlayerno();
Player player = pService.getPlayerOne(pno); // player 정보 찾기
scout.setMember(member);
scout.setPlayer(player);
sService.insertScout(scout);
map.put("status", 200);
}
else{
map.put("status", 300);
}
}
catch(Exception e){
e.printStackTrace();
map.put("status", e.hashCode());
}
return map;
}
}
- 스카우트 목록 추가
1. member 로그인 한 뒤 토큰값을 받아온다.
2. 스카우트 목록 추가하기
headers에 토큰값을 입력한 뒤 등록한다.

'프로젝트' 카테고리의 다른 글
23. 스카우터 목록 삭제 (0) | 2022.01.06 |
---|---|
22. member 별 스카우트 목록 조회 (0) | 2022.01.06 |
20. 선수 별 리뷰 조회 (0) | 2022.01.05 |
19. REVIEW 전체 정보 조회 (0) | 2022.01.05 |
18. REVIEW 1개 조회 (0) | 2022.01.05 |