Проблемы с вызовами почтальона на API - PullRequest
0 голосов
/ 21 сентября 2018

В настоящее время я делаю API с нуля, и у меня возникают проблемы с получением ответа на мои вызовы POSTMAN.Я проверил несколько статей по SO, и я не смог найти решение.Мой код следующий:

@RestController
@Api(tags="Controller")
public class Controller {

private static final Logger LOGGER = LoggerFactory.getLogger(Controller.class);

@CrossOrigin
@ApiOperation(value = "test")
@RequestMapping(method = RequestMethod.GET, path = "/c000/getpref/v1/test", produces = MediaType.APPLICATION_JSON_VALUE)
@ApiImplicitParams({ @ApiImplicitParam(name = "client-metadata", value = "Client Metadata", required = true, dataType = "string", paramType = "header") })
@ApiResponses(value = { @ApiResponse(code = CinchyConstants.HTTP_RESPONSE_STATUS_SUCCESSFUL_CODE, message = CinchyConstants.HTTP_RESPONSE_STATUS_SUCCESSFUL),
                        @ApiResponse(code = CinchyConstants.HTTP_RESPONSE_STATUS_BAD_REQUEST_CODE, message = CinchyConstants.HTTP_RESPONSE_STATUS_BAD_REQUEST),
                        @ApiResponse(code = CinchyConstants.HTTP_RESPONSE_STATUS_NOT_FOUND_CODE, message = CinchyConstants.HTTP_RESPONSE_STATUS_NOT_FOUND),
                        @ApiResponse(code = CinchyConstants.HTTP_RESPONSE_STATUS_INTERNAL_SERVICE_ERROR_CODE, message = CinchyConstants.HTTP_RESPONSE_STATUS_INTERNAL_SERVICE_ERROR) })
public ResponseEntity<String> test() {
    LOGGER.debug("In test()");

    String test = "UWU";
    return ResponseEntity.ok(test);
}

}

Регистратор не печатает заявление, и все, что я получаю от POSTMAN, это:

{
    "timestamp": "2018-09-21T18:07:08.722+0000",
    "status": 404,
    "error": "Not Found",
    "message": "No message available",
    "path": "/c000/getpref/v1/test"
}

Я пробовал с и без заголовков, и оба не дают мне решения.У кого-нибудь есть представление о том, в чем проблема?

1 Ответ

0 голосов
/ 21 сентября 2018

CinchyConstants.HTTP_RESPONSE_STATUS_SUCCESSFUL_CODE равно 200?Также, если вы ожидаете тело ответа, вы должны упомянуть его для каждого статуса

    @ApiResponses(value = {@ApiResponse(code = 200, message = "I have a cool response", response = MyResponse.class),
      //......
     public ResponseEntity<?> test() {
       return new ResponseEntity<MyResponse>(new MyResponse("UWU"), HttpStatus.OK);
     }

и простого кода MyResponse:

public class MyResponse{

    private String text;

    public MyResponse(String text) {
       this.text = text;
    }
    public String getText() {
       return text;
    }
 }

Если вы запускаете сервер с портом по умолчанию,GET к

 http://localhost:8080/c000/getpref/v1/test 

должен вернуть ваш текст в формате json.Чтобы убедиться, что ваша проблема связана с кодом, а не с конфигурацией почтальона, попробуйте также получить доступ к ссылке из браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...