Почему здесь избыточная обратная косая черта в свойстве "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 ответ

Обратная косая черта используется для экранирования специфических символов, таких как "": конец строки или "\": входящий специальный символ.

Другие вопросы по тегам