JSON parse error: Cannot deserialize value of type `java.util.ArrayList<>` from Object value (token `JsonToken.START_OBJECT`);

Yeoonnii·2022년 10월 31일
0

Java

목록 보기
7/30

오류발생

JSON parse error: Cannot deserialize value of type java.util.ArrayList<> from Object value (token JsonToken.START_OBJECT);

하나의 게시글에 여러개의 해시태그를 등록하려 할때 오류가 발생했다

boardMapper.xml

        <insert id="insertHashtagMapping" parameterType="list">
                INSERT INTO HASHTAGMAPPING (HMAPNO, BNO, HNO)
                SELECT SEQ_HASHTAGMAPPING_NO.NEXTVAL, T1.* FROM (
                <foreach collection='list' item='tmp' separator='UNION ALL '>
                        SELECT '${tmp.bno}' BNO,
                        '${tmp.hno}' HNO
                        FROM DUAL
                </foreach>
                ) T1
        </insert>

BoardMapper.java

public int insertHashtagMapping(List<BoardViewDTO> boardviewDTO);

BoardRestController.java

    @PostMapping(value = "/hashtagmapping.json")
    public Map<String,Object> hashtagMAPPING(@RequestBody List<BoardViewDTO> boardviewDTO){
        Map<String, Object> map = new HashMap<>();
        try {
            int ret = bMapper.insertHashtagMapping(boardviewDTO);
            System.out.println("ret=> " + ret);
            if(ret < 0){
                map.put("status", 0);
            }
            map.put("status", 200);
        } catch (Exception e) {
            e.printStackTrace();
            map.put("status", -1);
        }
        return map;
    }

해결

POSTMAN에서 body로 데이터를 보낼때 형태가 잘못 지정되어 생긴 오류였다

알맞게 데이터 형태를 맞춰 보내주니 오류가 해결되었다

0개의 댓글