Сгенерированный Swagger API не имеет возвращаемого значения - PullRequest
0 голосов
/ 19 декабря 2018

Я использую swagger-codegen-3.0.0.

Как показано ниже, спецификация API имеет ответы 200 и 400;однако, когда генерируется API-интерфейс addTeam (), он генерируется с типом возвращаемого значения 'void'.

Я хочу обработать код ответа 200 и / или 400. Это означает, что у меня есть явное определениетип полезной нагрузки в спецификации ответа?Может кто-нибудь предоставить более подробную информацию о том, как должна быть указана моя спецификация «ответов»?

 49   /team:
 50     post:                                                                                           
 51       summary: Add team                                                                           
 52       operationId: addTeam                                                                        
 53       requestBody:                                                                                  
 54         description: Team detail being added                                                      
 55         content:                                                                                    
 56           application/json:                                                                         
 57             schema:                                                                                 
 58               type: array                                                                           
 59               items:                                                                                
 60                 $ref: "#/components/schemas/addTeamPayload"                                                                           
 61       responses:                                                                                    
 62         200:                                                                                        
 63           description: Ok                                                                           
 64         400:                                                                                        
 65           description: Bad request                                                                  
 66       tags:                                                                                         
 67         - Team

java -jar swagger-codegen-cli-3.0.0.jar generate -i teamApiSpec.yaml -l java -дополнительные свойства jackson = true --artifact-id swagger-java-client-api

Эта команда генерирует приведенный ниже Java-код / ​​API.

/**
 * Add team
 * 
 * @param body Team detail being added (optional)
 * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body

 */
public void addTeam(List<AddTeamPayload> body) throws ApiException {
    addTeamWithHttpInfo(body);
}

/**
 * Add Team
 * 
 * @param body Team detail being added (optional)
 * @return ApiResponse&lt;Void&gt;
 * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body

 */
public ApiResponse<Void> addTeamWithHttpInfo(List<AddTeamPayload> body) throws ApiException {
    com.squareup.okhttp.Call call = addTeamValidateBeforeCall(body, null, null);
    return apiClient.execute(call);
}

Еще одна проблема, несмотря на ответ 400код запрограммирован в спецификации API, когда сервер возвращает 400, API все еще генерирует исключение, и в процессе детали кода возврата теряются.Как пользователь API, я не знаю, какой код возврата возвращается или какое ответное сообщение возвращается сервером.

Может кто-нибудь прокомментировать это?Это важно.Дайте мне знать, если я что-то пропустил в спецификации API.

...