테스트 사이트 - 개발 중인 베타 버전입니다

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

라균 4년 전 조회 1,851

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

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

https://jeonjin.tistory.com/494">invalidPropertyException 만 검색해도 나오더라구요... 

 

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

 

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

</p>

<p>$attachment = array(

    name => 'test'

);</p>

<p>$params_c = array(

    attachment => array(

        button => array(

            $attachment

        )

    )

);</p>

<p>$data = http_build_query($params_c);</p>

<p>curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);</p>

<p>

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

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

답변 1개

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

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

답변에 대한 댓글 3개

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

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

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

로그인