php 에서 crul로 보낸 값이 리스트인경우 java spring에서 값을 못받는 오류 채택완료

외부 API에서 계속 값이 없다고 하길래 로그 달라고 해서 보니 바로 어떤 오류인지는 알았습니다... 

ERROR [invalidPropertyException] message='attachment[button][0][name]'

invalidPropertyException 만 검색해도 나오더라구요... 

 

문제는 php 에서 attachment[button][0][name] 이런형태를 attachment[button][0].[name] 이렇게 바꿔서 보내야 하는데 어떻게 표현해야 가능할까요...

 

http_build_query 를 사용해서 post방식으로 보내고 있습니다.

Copy
$attachment = array(
    name => 'test'
);

$params_c = array(
    attachment => array(
        button => array(
            $attachment
        )
    )
);

$data = http_build_query($params_c);

curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);

현재는 위와같이 보냈습니다.

답변 1개

php에서 디버깅 해보셨나요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

네 디버깅 해서 attachment[button][0][name] -> attachment[button][0].[name]
배열 숫자 뒤에 . 을 붙여 줘야 java spring 에서 받을 때 이상 없이 받는것도 확인되었습니다.
http_build_query에서는 . 을 붙여주지 않아 하나하나 수정하는것을 해보고 다 완성했지만 너무 이쁘지도 않고 복잡해져서 node 서버로 구현했습니다.
php 배열은 닷으로 접근이 아니라 [] 이런식으로 접근해서요
저는 적응이 잘되어서요.. 그냥 결과만 나오면 답일텐데 너무 민감하세요 ~~
ㅋㅋ 결과가 나오면 답이라 생각하고 node로 구현해버렸어요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고