

๐กํ๋ก ํธ์๋
โ package.json
"proxy": "http://{๋ฐฑ์๋ ์ปดํจํฐ์ IP ์ฃผ์}:8080",
โ ๋ฐฐํฌ ์ AWS์ ์ฌ๋ฆฐ ํ๋ ฅ์ IP ์ฃผ์๋ก ๋ณ๊ฒฝ
โ ๋ฐฑ์๋ ์ปดํจํฐ๋ ์ธ๋ถ ์ปดํจํฐ๊ฐ ์ ๊ทผํ ์ ์๋๋ก ์ ๊ทผ ํ์ฉ ์ค์ ํด์ผ ํจ (๋ฐฉํ๋ฒฝ)
โ ํ์ผ๋ช .js
const [response, setResponse] = useState('')
useEffect(() => {
axios.{get ๋๋ post}('{๋ฐฑ์๋ API ์ฃผ์}')
.then(response => setResponse(response.data))
.catch(error => console.log(error))
}, []);
โ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ๋๋ Get ๋ฉ์๋
โ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋๋ Post ๋ฉ์๋
โ ๋ฐฑ์๋์์ ๋ฐํํ๋ ๋ฐ์ดํฐ๋ฅผ response ๋ณ์์ ์ ์ฅ
โ ์ฝ๋ ์ฌ์ฉ ์
โ Springboot - DiaryController
/**์ผ๊ธฐ ์ ์ฅ*/
@PostMapping("/save/diary")
public void saveDiary(@RequestBody DiaryDto diaryDto) {
diaryService.saveDiary(diaryDto);
}
/** ์ผ๊ธฐ ์์ */
@PostMapping("/modify/diary")
public void modifyDiary(@RequestBody DiaryDto diaryDto) {
diaryService.modifyDiary(diaryDto);
}
/**์ผ๊ธฐ ์ญ์ */
@PostMapping("/delete/diary/{diaryId}")
public void deleteDiary(@PathVariable("diaryId") Long diaryId) {
diaryService.deleteDiary(diaryId);
}
โ Springboot - DiaryDto
public class DiaryDto {
private Long diaryId; // ๋ฐฑ์๋์์ ์๋ ์์ฑํด์ฃผ๋ฏ๋ก ๋ณด๋ด์ง ์์๋ ๋จ
private String subject; // ์ ๋ชฉ์ ์์จ๊น ?
private String content; // ์ผ๊ธฐ ๋ด์ฉ
private String userId; // ์ฌ์ฉ์ ์์ด๋
private EmotionEnum emotion; // ํ์ฌ๋ 4๊ฐ์ง ๊ฐ์ ์กด์ฌ - ๊ธฐ์จ ์ฌํ ํ๋จ ์ฐ์ธ
private String img; // MultipartFile ํ์
์ผ๋ก ์์ ํ์
}
โ React - ์ผ๊ธฐ ์์ฑ
const [response, setResponse] = useState('')
useEffect(() => {
axios.post('/save/diary',{
userId:"user1@naver.com",
content:"๋ฉ์ง ํ๋ฃจ๋ฅผ ๋ณด๋๋ค.",
emotion: "๊ธฐ์จ",
img: ""
})
.then(response => setResponse(response.data))
.catch(error => console.log(error))
}, []);
โ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ Post ๋ฉ์๋
โ ์ฃผ์๋ โ/save/diaryโ ๋ก ์ง์
โ ๋ฐฑ์๋๋ก ๋ณด๋ผ ๋ฐ์ดํฐ๋ฅผ Json ํํ๋ก ๋ด์
โ ์ด๋ Json ๋ณ์๋ช ์ ๋ฐฑ์๋์์ ์ค์ ํ Dto ๋ด๋ถ ๋ณ์๋ช ๊ณผ ๊ฐ์์ผ ํจ
โ React - ์ผ๊ธฐ ์์
const [response, setResponse] = useState('')
useEffect(() => {
axios.post('/modify/diary',{
diaryId: "1",
userId:"user1@naver.com",
content:"๋ฉ์ง ํ๋ฃจ๋ฅผ ๋ณด๋๋ค. ๊ทผ๋ฐ ๋ฐค์ ๋น๊ฐ ์์ ์ฌํผ์ก๋ค.",
emotion: "์ฐ์ธ",
img: ""
})
.then(response => setResponse(response.data))
.catch(error => console.log(error))
}, []);
โ ํน์ด์ - ์ผ๊ธฐ ์์ฑ๊ณผ ๋ค๋ฅด๊ฒ ์ผ๊ธฐ์ ๊ณ ์ ID (๊ธฐ๋ณธํค) ๋ ํจ๊ป ์ ๋ฌํด์ผ ํจ
โ ์ผ๊ธฐ์ ๊ณ ์ ID๊ฐ ์์ด์ผ ์์ ํ ํน์ ์ผ๊ธฐ๋ฅผ ์ง์ ํ ์ ์์
โ ์์ ์์์ ๊ฒฝ์ฐ, ๊ธฐ๋ณธํค๊ฐ 1์ผ ์ผ๊ธฐ์ ๋ด์ฉ์ Json ๊ฐ์ฒด์ ๋ด์ฉ์ผ๋ก ์์ ํจ
โ React - ์ผ๊ธฐ ์ญ์
const [response, setResponse] = useState('')
useEffect(() => {
axios.post('/delete/diary/{์ญ์ ํ ์ผ๊ธฐ์ ๊ณ ์ ID}')
.then(response => setResponse(response.data))
.catch(error => console.log(error))
}, []);
โ ๋ฐฑ์๋์์ ํ๋ก ํธ์๋๋ก ์ผ๊ธฐ ์ ๋ณด๋ฅผ ์ ๋ฌํ ๋๋ ์ผ๊ธฐ์ ๊ณ ์ ID (๊ธฐ๋ณธํค) ๋ ํจ๊ป ์ ๋ฌ
โ ํ๋ก ํธ์๋์์๋ ์ด๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ฐ ์ผ๊ธฐ ์ญ์ ์ ์ฃผ์์ ํจ๊ป ์ ๋ฌ
'Springboot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Springboot] MultipartFile์ ํตํ ์ด๋ฏธ์ง์ ์ ์ฅ๊ณผ ์ ์ก (0) | 2023.07.16 |
---|---|
[Gitignore X Springboot] ๊นํ๋ธ์ properties ํ์ผ ์ฌ๋ฆฌ๊ธฐ ๋ฐฉ์งํ๊ธฐ (2) | 2023.06.16 |
[Springboot] ์ผ๋๋ค ๊ด๊ณ - @ManyToOne (0) | 2023.03.05 |
[Springboot] Entity์ DTO (0) | 2023.03.05 |
[Springboot] DB ๋ฐ์ดํฐ ์์ฑ/์์ ๋ ์ง(์๊ฐ) ์๋ ์ฒ๋ฆฌํ๊ธฐ (0) | 2023.03.05 |