Bolehkah nginx mengubah suai kandungan replysonse?
大家讲道理
大家讲道理 2017-05-16 17:14:10
0
4
574

nginx menyokong fungsi sedemikian, iaitu, bolehkah kandungan balasan diubah suai?

Sebagai contoh, kandungan yang dikembalikan oleh antara muka pada mulanya adalah seperti ini

   "data" : {
      "totalAmount" : 49,  // 用户累积所中金额
      "remainingCount" : 3 // 当天剩余抽奖次数
   }

Atribut baharu telah ditambahkan kemudian--总抽奖次数,于是想将之前的remainingCount改成更贴切的todayRemainingCount

      "todayRemainingCount" : 3 // 当天剩余抽奖次数
      "totalRemainingCount" : 10 // 总剩余抽奖次数

Namun, semasa proses dalam talian, pelayan datang dalam talian dahulu, dan kemudian H5 datang dalam talian Oleh itu, dalam tempoh ini, H5 tidak akan dapat menghuraikan remainingCount, menjejaskan logik perniagaan dalam talian biasa.

Jadi saya ingin melakukan beberapa pemprosesan sementara melalui nginx dalam tempoh ini supaya ia boleh ditingkatkan dengan lancar Contohnya, antara muka pelayan parsing secara automatik mencipta atribut nginx来做一下临时处理使得可以平滑升级, 如解析服务端接口基于todayRemainingCount自动创建一个remainingCount berdasarkan todayRemainingCount supaya ia boleh serasi dengan antara muka lama seperti berikut Ditunjukkan

      "todayRemainingCount" : 3 // 当天剩余抽奖次数
      "remainingCount" : 3 // 当天剩余抽奖次数 兼容旧接口
      "totalRemainingCount" : 10 // 总剩余抽奖次数

Sekatan sementara ini akan ditarik balik selepas H5 dilancarkan.

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(4)
刘奇

Baiklah, sila lihat https://openresty.org/en/
Untuk keperluan anda, lebih baik menggunakan program untuk menilai dan mengendalikannya, atau menambah suis tambahan atau sesuatu.
Nginx dalam talian tidak akan menukar konfigurasi secara sembarangan.

洪涛

Bergantung pada keperluan anda, antara muka boleh terus mengeluarkan kedua-dua remainingCount dan todayRemainingCount pada masa yang sama Tidak kira antara muka yang anda gunakan untuk memanggil antara muka, anda boleh mendapatkan nilai Selepas anda menggunakan semuanya, cuma alih keluar baki yang dikembalikan oleh antara muka

洪涛

Seorang rakan sekerja memberi saya penyelesaian.

Ini adalah model antara muka biasa yang perlu dipertimbangkan untuk keserasian. Ia tidak disyorkan untuk meletakkannya di nginx. Contohnya:

public class Output {

    private int todayRemaingCount;
    private int totalRemaingCount;

    // getter/setter methods;

    // 下一个版本升级,去掉此方法,预计在10.17。
    @Deprecated
    public int getRemainingCount() {
        return todayRemaingCount;
    }

}
洪涛

Lebih baik buat pemprosesan di lapisan perniagaan Tidak digalakkan untuk mengubah suai nginx

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan