Heim > Fragen und Antworten > Hauptteil
nginx unterstützt eine solche Funktion, das heißt, kann der Inhalt von Replysonse geändert werden?
Zum Beispiel sieht der von der Schnittstelle zu Beginn zurückgegebene Inhalt so aus
"data" : {
"totalAmount" : 49, // 用户累积所中金额
"remainingCount" : 3 // 当天剩余抽奖次数
}
Ein neues Attribut wurde später hinzugefügt – 总抽奖次数
,于是想将之前的remainingCount
改成更贴切的todayRemainingCount
"todayRemainingCount" : 3 // 当天剩余抽奖次数
"totalRemainingCount" : 10 // 总剩余抽奖次数
Während des Online-Prozesses wird jedoch zuerst der Server online geschaltet, und dann wird H5 online geschaltet. Daher kann H5 in diesem Zeitraum nicht analysieren remainingCount
, was Auswirkungen auf die normale Online-Geschäftslogik hat.
Deshalb möchte ich in diesem Zeitraum eine vorübergehende Verarbeitung über nginx
durchführen, damit es reibungslos aktualisiert werden kann. Beispielsweise erstellt die Parsing-Serverschnittstelle automatisch ein nginx
来做一下临时处理使得可以平滑升级, 如解析服务端接口基于todayRemainingCount
自动创建一个remainingCount
-Attribut basierend auf todayRemainingCount
damit es mit der alten Schnittstelle wie folgt kompatibel sein kann
"todayRemainingCount" : 3 // 当天剩余抽奖次数
"remainingCount" : 3 // 当天剩余抽奖次数 兼容旧接口
"totalRemainingCount" : 10 // 总剩余抽奖次数
Diese vorübergehende Einschränkung wird aufgehoben, sobald H5 online geht.
怪我咯2017-05-16 17:16:10
可以,看看 https://openresty.org/en/
你这种需求还是用程序作判断处理,或者多加个开关之类的比较好吧。
线上的 nginx 也不会随便改配置。
PHP中文网2017-05-16 17:16:10
看你的需求,接口直接同时输出remainingCount和todayRemainingCount两项就可以了啊,调取接口的不管用哪个都能取到值,等你都部署好了之后再把接口返回的remainingCount去掉就行了
PHP中文网2017-05-16 17:16:10
同事给了一个解决方案。
这是典型的接口模型该考虑的兼容。 不建议放到nginx上。比如:
public class Output {
private int todayRemaingCount;
private int totalRemaingCount;
// getter/setter methods;
// 下一个版本升级,去掉此方法,预计在10.17。
@Deprecated
public int getRemainingCount() {
return todayRemaingCount;
}
}