原生解釋:
注释为@Deprecated的程序元素不鼓励程序员使用。一个元素可能因以下原因而被弃用:例如,它的使用可能会导致错误;它可以不兼容地更改或在将来的版本中删除;它已经被一个更新的、通常更可取的替代方案所取代;或者它是过时的。
- 当在非弃用代码中使用或重写弃用的程序元素时,编译器会发出警告。
- 在局部变量声明、参数声明或包声明上使用@Deprecated注释对编译器发出的警告没有影响。
- 当模块被弃用时,在requires子句中使用该模块,但在exports或opens子句中不使用该模块会导致发出警告。不推荐使用的模块不会导致针对模块内类型的使用发出警告。
自以来,此批注类型具有字符串值元素。此元素的值表示注释程序元素最初被弃用的版本。
例子如下:当在自定义的接口或类或方法上加上该注解,标识不推荐在后续使用。
/**
* 创建房间
* 这个接口并非废弃,只是我们并不提倡用这种方式创建房间
* @param createRoomModel 房间
* @return 房间id
*/
@Deprecated
@Operation(address="room.create")
Future<String> createRoom(@NotNull @Body CreateRoomModel createRoomModel);