기본적으로 최종 종단점에서 수신 할 것으로 예상되는 것과는 다른 JSON 입력 객체를 예상하는 프록시를 작성했습니다. 그래서 요청 객체를 하나에서 다른 객체로 연결하기 위해 AssingMessage 정책을 사용하여 json 입력을 변환합니다.APIGEE의 JSON AssignMessage 페이로드에서 null 값을 생략하는 방법은 무엇입니까?
나는 이런 식으로 뭔가를하고 있어요 : 일부 값이 비어있을 때
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-Sample">
<DisplayName>Assign Message-Sample</DisplayName>
<Remove>
<Headers>
<Header name="login_id"/>
<Header name="Authorization"/>
</Headers>
<Payload>true</Payload>
</Remove>
<Set>
<Payload contentType="application/json">
{
"valueA": "{clientrequest.valueA}",
"valueB": "{clientrequest.valueB}",
"valueC": "{clientrequest.valueC}",
"valueD": "{clientrequest.valueD}",
"valueE": "{clientrequest.valueE}",
"valueF": "{clientrequest.valueF}",
}
</Payload>
<Verb>POST</Verb>
</Set>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>
문제가 온다. 대상 서버가 비어있는 값 (내 컨트롤에서 이스케이프)을 제대로 처리하지 못합니다.
내 질문 : 값이 비어 있으면 매개 변수를 완전히 건너 뛸 수 있습니까?
나는 이런 식으로 뭔가 (또는 더 나은 대안)을 찾고 있어요 : 나는 내 연구에서 발견 한 내용을 들어
<Payload contentType="application/json">
{
<skip-if-empty name="clientrequest.valueA">
"valueA": "{clientrequest.valueA}",
</skip-if-empty>
"valueB": "{clientrequest.valueB}",
...
}
</Payload>