header dinamis integrasi pegas

Dalam permintaan Http integrasi pegas berdasarkan pengguna yang masuk ingin menambahkan param header dinamis. Katakanlah misalnya jika pengguna "A" masuk & permintaan hitHttp, sekarang perlu menambahkan dinamis 1 header tambahan, untuk pengguna lain, bahkan harus kuncinya juga (yaitu nilai sebagai nol)

Untuk pengguna A

<int:gateway id="requestGateway" service-interface="net.group.gateway.Gateway"  default-request-channel="jsonTransformationChannel">
            <int:default-header name="X-MW-LOGGEDID" expression="@requestData.getLoggedID()" />
            <int:default-header name="X-Srcvalue" value="56789" />
            <int:default-header name="content-type" value="application/json" />
            <int:default-header name="Accept" value="application/json" />
</int:gateway>

Untuk pengguna lain

<int:gateway id="requestGateway" service-interface="net.group.gateway.Gateway"  default-request-channel="jsonTransformationChannel">
            <int:default-header name="X-MW-LOGGEDID" expression="@requestData.getLoggedID()" />
            <int:default-header name="content-type" value="application/json" />
            <int:default-header name="Accept" value="application/json" />
 </int:gateway>

person Doss    schedule 20.03.2018    source sumber


Jawaban (1)


Saya kira ceritanya benar-benar tentang itu X-Srcvalue. Dan karena Anda mengatakan tidak apa-apa untuk null untuk orang lain, lebih baik menggunakan expression daripada nilai.

<int:default-header name="X-Srcvalue" expression="USER == A ? 56789 : null" />

Dalam ekspresi tersebut Anda dapat menggunakan kacang apa pun dalam konteks aplikasi untuk menjalankan logika kompleksitas apa pun.

person Artem Bilan    schedule 20.03.2018
comment
masalah saya, jika pengguna lain masuk, di bawah header, kunci X-Srcvalue itu sendiri tidak boleh ada. untuk Pengguna bukan prblm. - person Doss; 21.03.2018
comment
Intinya adalah jika nilai header yang akan dipetakan adalah null maka tidak akan ditampilkan dalam pesan keluaran. Lihat MessageHeaderAccessor.setHeader() implementasi - person Artem Bilan; 21.03.2018