전체 글 152

카테고리 달기 (react)

카테고리를 저장하고 이를 다시 boardSaveForm으로 전달 할 때 조금씩의 변경사항들이 있어 그냥 코드 복붙하고 실행결과만 기록 public class CategoryNameList { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String categoryName; private Long lcId; //(largeCategoryId) private Long scId; //(subCategoryId) @Enumerated(EnumType.STRING) private CategoryType categoryType; } public class Board { // 보드에 담길 내용: 제목, 내용, 댓글, ..

게시글 category 적용 고민

게시글 작성시에 select로 largecategory를 선택하고 선택한 largecategory에 의해 subcategory목록이 나타나게 하고 싶다. 그래서 largecategory목록을 api를 통해 불러왔으나 연관관계 설정으로 인해 largecategory->subcategories->boards->(replys)까지 들고 오게 되었고 고작 화면에 카테고리 설정을 하기 위해서 이 모든 데이터를 들고 오게 할 순 없다. 그래서 save로직에서 중간에 카테고리 이름들만 따로 저장하는 테이블을 만들어서 불러와 적용하는 것이 현재로선 모든 게시글까지 들고오게 하는 방법보다 나아 보인다. 물론 fetch에게 filter를 적용하는 방법이나, 다른 효율적인 방법들이 많겠지만 현재로선 아직 모르는 방법들이고 ..

카타고리 달기 (front)

일단 만들어 놓긴 했는데 js나 css등 배열배치를 하나도 모른다...어느정도 공부하고 배치는 손 볼 예정이고, 일단은 만들어 놓은 기능이 잘 되는지 확인하는 정도로만 만들어 보았다. 물론 나중에 배치 어떻게 하는지 공부해서 정돈되게 해 놓을 예정...그래도 spring boot와 연동해서 모두 잘 작동한다 import React, { useState } from "react"; import { Tab, Tabs, Button, Accordion, Form, Nav, CloseButton, InputGroup, FormControl, } from "react-bootstrap"; const SideBar = (props) => { const [result, setResult] = useState({ id..

블로그 카테고리 달기 (백엔드)

방법 1: 자기 자신을 참조하여 무한 depth로 카테고리 만들기 방법 2: 그냥 간단하게 parentCatgory, subCategory 테이블 2개 만들어서 구현하기 선택: 방법 2, 블로그 카테고리는 대분류에서 소분류로 2계층인데 무한 depth안해도 될 것 같음, 무한 depth는 대댓글 구현할 때 해볼것(이것도 댓글의 대댓글 정도까지만 할 거지만 테이블이 3개 이상보다 자기 참조가 을 것 같음) public class LargeCategory { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "largeCategory_id") private Long id; private String largeCategoryName;..

Spring boot, React 페이지네이션

@GetMapping({"","/"}) //indexPage에 전체 게시물 목록을 넘겨줌 public Page boardAllList(@PageableDefault(size = 2, sort = "id", direction = Sort.Direction.DESC) Pageable pageable) { return boardService.boardAllList(pageable); } : 게시글 전체 리스트를 pageable해서 넘겨줌(jpa의 findByAll은 바로 pageable적용 가능) 그럼 console.log(res) : res ("http://localhost:8080/?page=" + page로받아온 데이터) 찍어서 f12로 확인해 보면 content : {..., pageble{..., }..

게시글 프론트에서 확인하기

: javascript가 거부되지 않도록 해줌 @RequiredArgsConstructor @RestController @CrossOrigin { const navigate = useNavigate(); const [board, setBoard] = useState({ title: "", content: "", }); const changeValue = (e) => { setBoard({ ...board, [e.target.name]: e.target.value, }); }; const submitBoard = (e) => { e.preventDefault(); //submit이 액션을 안타고 할 일을 그만함 fetch("http://localhost:8080/비밀~", { method: "post", ..

게시판 CRUD

@Data @AllArgsConstructor @NoArgsConstructor @Builder @Entity public class Board { // 보드에 담길 내용: 제목, 내용, 댓글, (글은 나만 쓸 것이므로 유저정보는 필요 없음) @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private String content; @CreationTimestamp private Timestamp createDate; } public interface BoardRepository extends JpaRepository { } @Service public class BoardServic..