Skip to content

Commit 91aba1b

Browse files
authored
fix:roadmap-service-api-endpoint
Feat/guc 261 ai recommend api
2 parents 260e302 + 69cc63d commit 91aba1b

File tree

3 files changed

+24
-28
lines changed

3 files changed

+24
-28
lines changed

src/api/instance.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import axios from "axios";
22

33
const api = axios.create({
4-
baseURL: "https://a-log.site/api",
5-
// baseURL:
4+
baseURL: "https://a-log.site/api",
5+
// baseURL:
66
// "http://a6b22e375302341608e5cefe10095821-1897121300.ap-northeast-2.elb.amazonaws.com:8000/api",
77
});
88
//

src/components/RoadmapList/RoadmapList.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const RoadmapList = ({ onCardClick, shouldFetch }) => {
99
if (!shouldFetch) return;
1010
const fetchRoadmaps = async () => {
1111
try{
12-
const res = await axios.get("http://localhost:8080/api/roadmap/");
12+
const res = await axios.get("/roadmap/");
1313
if (res.data.status === "200") {
1414
const data = res.data.data;
1515

src/screens/RoadMap/RoadMap.jsx

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@ import RoadmapPopup from "../ShowRoadMap/ShowRoadMap";
88
import { Canvas } from "@react-three/fiber";
99
import Navbar2 from "../../components/Navbar2/Navbar2";
1010
import "./RoadMap.css";
11-
import api from "../../api/local-instance";
11+
import api from "../../api/instance";
1212

1313

14-
const AnalysisResult = ({ userId, roadmapName, svgText }) => {
14+
const AnalysisResult = ({ userName, roadmapName, svgText }) => {
1515
return (
1616
<div className="roadmap-result-wrapper">
1717
<div className="roadmap-result-container">
1818
<p className="roadmap-result-text">
19-
<span>분석 결과, {userId}님은 </span>
19+
<span>분석 결과, {userName}님은 </span>
2020
<span className="highlight">{roadmapName} 개발자</span>
2121
<span>
2222
의 역량과 성향을 지니고 있어요.
2323
<br/>
24-
지금부터 {userId}님만을 위한 맞춤 로드맵을 안내해드릴게요.
24+
지금부터 {userName}님만을 위한 맞춤 로드맵을 안내해드릴게요.
2525
</span>
2626
</p>
2727

@@ -30,26 +30,17 @@ const AnalysisResult = ({ userId, roadmapName, svgText }) => {
3030
style={{
3131
width: '100%',
3232
minHeight: '220px',
33-
display: 'flex',
34-
alignItems: 'center',
35-
justifyContent: 'center',
3633
background: '#f8fafc',
3734
borderRadius: '12px',
3835
boxShadow: '0 2px 12px 0 rgba(60,60,60,0.07)',
3936
margin: '24px 0',
40-
overflow: 'visible',
41-
padding: 0,
37+
padding: '12px',
38+
overflow: 'auto', // SVG 크기 초과 시 스크롤 가능
4239
}}
4340
>
44-
{svgText ? (
41+
{svgText?.trim().startsWith("<svg") ? (
4542
<div
46-
style={{
47-
width: '100%',
48-
maxWidth: '100vw',
49-
minHeight: '220px',
50-
display: 'block',
51-
overflow: 'visible',
52-
}}
43+
style={{ width: '100%' }}
5344
dangerouslySetInnerHTML={{ __html: svgText }}
5445
/>
5546
) : (
@@ -79,6 +70,7 @@ export const RoadMap = () => {
7970
const [svgUrl, setSvgUrl] = useState("");
8071
const [svgText, setSvgText] = useState("");
8172
const [roadmaps, setRoadmaps] = useState([]);
73+
const [userName, setUserName] = useState("");
8274

8375

8476
const handleCardClick = (svgText, title) => {
@@ -92,12 +84,13 @@ export const RoadMap = () => {
9284
useEffect(() => {
9385
const fetcRecommended = async () => {
9486
try {
95-
const apiUrl = "http://localhost:8080/api/roadmap/ai-recommend";
87+
const apiUrl = "/roadmap/ai-recommend";
9688
console.log("로드맵 API 호출 시작: ", apiUrl);
9789
const response = await api.post(
9890
apiUrl,
9991
{},
100-
{ headers: { Accept: "application/json" } }
92+
{ headers: { Accept: "application/json" } },
93+
{ }
10194
);
10295
console.log("로드맵 API 응답: ", response);
10396

@@ -106,11 +99,14 @@ export const RoadMap = () => {
10699
setRoadmapName(data.recommendedRoadmap.roadmapName);
107100
setSvgUrl(data.recommendedRoadmap.svgUrl);
108101

102+
const userRes = await api.get(`http://a6b22e375302341608e5cefe10095821-1897121300.ap-northeast-2.elb.amazonaws.com:8000/api/user-service/details/${data.userId}`);
103+
const name = userRes.data?.data?.name || `사용자${data.userId}`;
104+
setUserName(name);
105+
106+
const svgRes = await api.get(data.recommendedRoadmap.svgUrl, { responseType: "text" });
107+
console.log("SVG 텍스트 로드 완료:", svgRes.data);
108+
setSvgText(svgRes.data);
109109

110-
if (data.recommendedRoadmap.svgUrl) {
111-
const svgRes = await api.get(data.recommendedRoadmap.svgUrl, { responseType: "text" });
112-
setSvgText(svgRes.data);
113-
}
114110
} catch (err) {
115111
console.error("추천 로드맵 API 호출 실패:", err);
116112
}
@@ -122,7 +118,7 @@ export const RoadMap = () => {
122118

123119
const fetchRoadmaps = async () => {
124120
try {
125-
const apiUrl = "http://localhost:8080/api/roadmap";
121+
const apiUrl = "/roadmap";
126122
console.log("로드맵 API 호출 시작: ", apiUrl);
127123
const response = await api.get(
128124
apiUrl,
@@ -213,7 +209,7 @@ export const RoadMap = () => {
213209
</div>
214210
) : selectedTab === "AnalyzeResult" ? (
215211
<AnalysisResult
216-
userId={userId}
212+
userName={userName}
217213
roadmapName={roadmapName}
218214
svgText = {svgText}
219215
/>

0 commit comments

Comments
 (0)