0
respostas

Erro400 - Consulta Saldo -

Tudo bom ?

Nao estou conseguindo consultar o saldo da conta. Quando tento recebo o erro 400 e fala que nao coloquei no cabeçalho a identificação.

{
    "timestamp": "2020-10-30T18:20:24.621Z",
    "status": 400,
    "error": "Bad Request",
    "exception": "org.springframework.web.bind.ServletRequestBindingException",
    "message": "Missing request header 'autorization' for method parameter of type String",
    "path": "/bytebank-api/v1/conta/8756/7/0/saldo"
}

Tentei tanto pelo postman quanto pelo RESTED e da a mesma coisa.

Notei que o codigo não cadastra as informações do banco corretamente quando passado pela conta, mas sempre a mesma informação generica: agencia 8756, numero sequencial, e digito e saldo 0. Mas esse não é para ser o problema.

Nao consegui subir fotos, então nao consigo demonstrar como ta o postman aqui.


Notei que o Swagger gerou um codigo diferente do zip no repositorio quando pedi para gerar o codigo do Spring. No "ContaApi" e nos outros servicos ele gerou uma linha a mais que mudava depois o caminho para o servico. No caso, comentei ela e as demais no codigo:


@Api(value = "conta", description = "the conta API")

//@RequestMapping(value = "/testebank-api/v1") !!!! AQUI !!!

public interface ContaApi {

    @ApiOperation(value = "Consulta Saldo", nickname = "consultaSaldo", notes = "Consulta Saldo da Conta do Cliente", response = Double.class, authorizations = {
        @Authorization(value = "BasicAuth")
    }, tags={ "Conta", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "Consulta a Saldo Efetuada com Sucesso", response = Double.class),
        @ApiResponse(code = 400, message = "Requisicao Invalida"),
        @ApiResponse(code = 401, message = "Requisicao Nao Autorizada"),
        @ApiResponse(code = 500, message = "Erro no servidor") })
    @RequestMapping(value = "/conta/{agencia}/{numero}/{digito}/saldo",
        produces = { "application/json" }, 
        consumes = { "application/json" },
        method = RequestMethod.GET)
    ResponseEntity<Double> consultaSaldo(@ApiParam(value = "",required=true) @PathVariable("agencia") Integer agencia,@ApiParam(value = "",required=true) @PathVariable("numero") Integer numero,@ApiParam(value = "",required=true) @PathVariable("digito") Integer digito,@ApiParam(value = "" ,required=true) @RequestHeader(value="autorization", required=true) String autorization);

}

Mas descarto que seja alguma mudança no codigo pois mesmo pelo arquivo zipado o problema persiste.


resolvido ja, descobri o problema: escrevi "Authorization" errado (autorization) no header da conta no Sweggar;