Nginx peut-il modifier le contenu de Answersonse ?
大家讲道理
大家讲道理 2017-05-16 17:14:10
0
4
509

nginx prend en charge une telle fonction, c'est-à-dire que le contenu de la réponse peut-il être modifié ?

Par exemple, le contenu renvoyé par l'interface au début est comme ça

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

Un nouvel attribut a été ajouté plus tard--总抽奖次数,于是想将之前的remainingCount改成更贴切的todayRemainingCount

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

Cependant, pendant le processus en ligne, le serveur se met en ligne en premier, puis H5 se met en ligne. Par conséquent, pendant cette période, H5 ne pourra pas analyser remainingCount, ce qui affecte la logique commerciale en ligne normale.

Je souhaite donc effectuer un traitement temporaire via nginx pendant cette période afin qu'il puisse être mis à niveau en douceur. Par exemple, l'interface du serveur d'analyse crée automatiquement un attribut nginx来做一下临时处理使得可以平滑升级, 如解析服务端接口基于todayRemainingCount自动创建一个remainingCount basé sur todayRemainingCount pour qu'il soit compatible avec l'ancienne interface comme suit Montré

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

Cette restriction temporaire sera levée après le lancement de H5.

大家讲道理
大家讲道理

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

répondre à tous(4)
刘奇

D'accord, jetez un œil à https://openresty.org/en/
Pour vos besoins, il est préférable d'utiliser un programme pour le juger et le gérer, ou d'ajouter un commutateur supplémentaire ou quelque chose du genre.
Nginx en ligne ne modifiera pas la configuration par hasard.

洪涛

En fonction de vos besoins, l'interface peut afficher directement à la fois leftCount et TodayRemainingCount en même temps. Quelle que soit l'interface que vous utilisez pour appeler l'interface, vous pouvez obtenir la valeur. Après avoir tout déployé, supprimez simplement le leftCount renvoyé par le.

洪涛

Un collègue m'a proposé une solution.

Il s'agit d'un modèle d'interface typique qui doit être pris en compte pour des raisons de compatibilité. Il n'est pas recommandé de le mettre sur nginx. Par exemple :

public class Output {

    private int todayRemaingCount;
    private int totalRemaingCount;

    // getter/setter methods;

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

}
洪涛

Il est préférable d'effectuer le traitement au niveau de la couche métier. Il n'est pas recommandé de modifier nginx

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!