Open silverprize opened 4 years ago
DB에 저렇게 들어가 있네요.
@silverprize 차이가 나는 이유는 홈에서는 html tag 를 제거하는거고, 글의 댓글에는 그대로 보여주니깐 다름. 근데 가운데 성별 이모지는 왜 넣었나요?
@Pyohwan 첨부 이미지는 같은 데이터를 API마다 다르게 준다는 설명입니다. 댓글API 정상에 보이는게 입력한 데이터입니다.
@silverprize 댓글의 값을 일관되게 받고 싶은 건가요? 홈에서 댓글을 110 length 잘라서 주는 이유때문에 차이가 나는거 같네요.
@Pyohwan 당연한 말씀을
@silverprize 그럼 jakduk-web 에서 댓글 길이가 길면 짤라주고, 이미지 태그 같은 html 태그 있다면, 제거해서 보여줄건가요?
@Pyohwan 제가 바라는 일관성은 content값이 똑같아야 한다는게 아니라 입력한 문자가 다른 문자로 바뀌지 않아야 한다는 말입니다.
curl 'https://jakduk.com/api/home/latest'
했을때
"content":"\uD83C\uDFC3♀️\uD83C\uDFC3♂️\uD83D\uDEB4♀️\uD83D\uDEB4♂️"
curl 'https://jakduk.com/api/board/free/1027/comments'
했을때
<p>
태그 빼곤 동일"content":"<p>\uD83C\uDFC3♀️\uD83C\uDFC3♂️\uD83D\uDEB4♀️\uD83D\uDEB4♂️</p>"
애초에 위지윅에서 저런식의 문자열로 작성 했음
@Pyohwan 안보이는 문자가 숨어있습니다. 이모지 부분만 string length 출력해보면 위에건 16, 아래건 20 나옵니다. 안보이는 문자가 손실되어 한글자로 렌더링될 이모지가 두글자로 나뉘어 렌더링됩니다.
@silverprize
2019-10-18 00:05:02,239 [http-nio-8080-exec-10] [INFO ] [BoardRestController.writeArticleComment:230] - request board : FREE, seq : 366, body : WriteArticleComment{content='<p>🏃♀️🏃♂️🚴♀️🚴♂️</p>', galleries=[]}
2019-10-18 00:05:02,240 [http-nio-8080-exec-10] [INFO ] [BoardRestController.writeArticleComment:231] - content length : 27
2019-10-18 00:12:40,680 [http-nio-8080-exec-2] [INFO ] [ArticleService.lambda$getLatestComments$13:407] - comment id: 5da880a839badd0938b2dde2, content : 🏃♀️🏃♂️🚴♀️🚴♂️, length : 20
2019-10-18 00:12:40,680 [http-nio-8080-exec-2] [INFO ] [ArticleService.lambda$getLatestComments$13:409] - strip comment : 🏃♀️🏃♂️🚴♀️🚴♂️, length : 16
결론은 length 20 -> 16 이 되었네요. html tag 벗겨내는 Jsoup 라이브러리를 사용하는데 이쪽을 봐야 할것 같네요.
@silverprize 마땅히 다른 라이브러리도 없네요. 그냥 정규식으로..
@silverprize 정규식도 예외처리하는게 너무 힘듦
일단 이대로 가시죠. 다른 대안도 없고, Jsoup 쪽에 이슈 남겨뒀어요. https://github.com/jhy/jsoup/issues/1269
Hello, I hope this solves your problem.
https://github.com/jhy/jsoup/issues/1269#issuecomment-548235222
최근 댓글 API 깨짐
댓글 API 정상