Почему здесь избыточная обратная косая черта в свойстве "example" аннотации @ApiModelProperty?
Я генерирую yaml из одного исходного кода метода API с помощью swagger-maven-plugin:
@ApiModelProperty(value = "Сенсоры устройства", example = "{\"BATTERY\":67, \"VOLUME\":50, \"AIRPLANE\":false, \"ALARM\":true, \"CHARGE\":false, \"MUTE\":false, \"SCREEN\":true, \"WIFI\":true, \"LOCATION\": {\"latitude\":55.78409222171274,\"precision\":65.0,\"time\":\"2017-09-29T14:55:00Z\",\"detectionTechnology\":\"GPS\",\"msisdn\":\"79851620850\",\"deviceId\":\"28255923\",\"longitude\":37.62893324268332}}")
В сгенерированном ямле у меня есть:
example: "{\"BATTERY\":67, \"VOLUME\":50, \"AIRPLANE\":false, \"ALARM\":true,\
\ \"CHARGE\":false, \"MUTE\":false, \"SCREEN\":true, \"WIFI\":true, \"LOCATION\"\
: {\"latitude\":55.78409222171274,\"precision\":65.0,\"time\":\"2017-09-29T14:55:00Z\"\
,\"detectionTechnology\":\"GPS\",\"msisdn\":\"79851620850\",\"deviceId\"\
:\"28255923\",\"longitude\":37.62893324268332}}"
После этого я сгенерировал метод api обратно в java с помощью swagger-codegen-maven-plugin и получил это:
@ApiModelProperty(example = "\"{\\\"BATTERY\\\":67, \\\"VOLUME\\\":50, \\\"AIRPLANE\\\":false, \\\"ALARM\\\":true, \\\"CHARGE\\\":false, \\\"MUTE\\\":false, \\\"SCREEN\\\":true, \\\"WIFI\\\":true, \\\"LOCATION\\\": {\\\"latitude\\\":55.78409222171274,\\\"precision\\\":65.0,\\\"time\\\":\\\"2017-09-29T14:55:00Z\\\",\\\"detectionTechnology\\\":\\\"GPS\\\",\\\"msisdn\\\":\\\"79851620850\\\",\\\"deviceId\\\":\\\"28255923\\\",\\\"longitude\\\":37.62893324268332}}\"", value = "Сенсоры устройства")
И еще - в сгенерированном контроллере для метода tis api у меня есть другой результат:
"sensors" : \"{\\"BATTERY\\":67, \\"VOLUME\\":50, \\"AIRPLANE\\":false, \\"ALARM\\":true, \\"CHARGE\\":false, \\"MUTE\\":false, \\"SCREEN\\":true, \\"WIFI\\":true, \\"LOCATION\\": {\\"latitude\\":55.78409222171274,\\"precision\\":65.0,\\"time\\":\\"2017-09-29T14:55:00Z\\",\\"detectionTechnology\\":\\"GPS\\",\\"msisdn\\":\\"79851620850\\",\\"deviceId\\":\\"28255923\\",\\"longitude\\":37.62893324268332}}\"
здесь код не работает! \\" - недопустимая последовательность
1 ответ
Обратная косая черта используется для экранирования специфических символов, таких как "": конец строки или "\": входящий специальный символ.