<li><a href="/" sec:authorize="isAuthenticated()" class="nav-link px-2 text-white">내 포트폴리오</a></li>
다음과 같이 로그인한 사용자에 대해서 메뉴를 추가하였다.
@Entity
@Getter
@Setter
public class PortfolioComposition {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name = "portfolio_id")
private Portfolio portfolio;
private String itmsNm;
private double allocation;
}
다음과 같이 구성하였다.
@Entity
@Getter
@Setter
public class PortfolioComposition {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name = "portfolio_id")
private Portfolio portfolio;
private String itmsNm;
private double allocation;
}
@PostMapping("/save")
public String savePortfolio(@RequestParam Map<String, Object> portfolio, Principal principal) {
String username = principal.getName();
SiteUser siteUser = siteUserService.getUser(username);
}
다음과 같은 방식으로 사용자의 이름을 가져온다.
SiteUserService에 다음과 같은 사용자의 이름으로 유저를 반환하는 것을 추가하였다.
public SiteUser getUser(String username) {
Optional<SiteUser> siteUser = this.siteUserRepository.findByusername(username);
if (siteUser.isPresent()) {
return siteUser.get();
} else {
throw new DataNotFoundException("siteuser not found");
}
}
성공적으로 저장에 성공하였다. 다음시간에는 조회하는 기능을 만들어 보자!