Мы используем Swagger для написания нашего REST API. У нас есть служба POST, которая должна принимать файл XML в теле запроса. Это определение нашего запроса:
/services/invoke:
post:
tags:
- invoke
summary: A request invocation
operationId: invokeUsingPOST
consumes:
- application/xml
produces:
- application/xml
parameters:
- name: User-Token
in: header
description: The user token
required: false
type: string
- in: body
name: request
description: invoke request XML
required: false
schema:
type: string
responses:
'200':
description: OK
schema:
type: string
'400':
description: Bad Operation
'401':
description: Unauthorized
'404':
description: Forbidden
Однако когда мы генерируем клиентский код Java с помощью swagger-codegen, сгенерированный метод выглядит так:
public String invokeUsingPOST (String userToken, Request request)
И класс запроса генерируется как:
@ApiModel(description = "")
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-11-25T18:45:31.524+02:00")
public class Request {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Request {\n");
sb.append("}");
return sb.toString();
}
}
Как мне использовать его для отправки моего XML? Должен ли я получить от него и переопределить метод toString(), или есть лучший способ сделать это?