Axios: BaseURL não está sendo usado

Criado em 10 abr. 2018  ·  13Comentários  ·  Fonte: axios/axios

Clique em "Visualizar" para uma versão mais legível

Resumo

Estou tendo um problema com a propriedade defaults. Quando uma instância é criada estou configurando o baseUrl, verificando o valor defaults posso ver que o baseUrl foi configurado mas uma vez que tento enviar um único pedido axios não está usando o baseUrl configurado anteriormente.

Código usado para solicitar
const config = {
        timeout: 1500,
        baseUrl: 'https://reqres.in/api',
        ...defaults,
};

const instance = axios.create(config);
try {
        const response = await instance.get('/users?page=2');
        console.log(response);
} catch (e) {
        console.error(e);
}

Observe no final da resposta: _currentUrl: 'http:/users?page=2' Se eu alterar o método get para ter a URL completa a requisição funciona.

Resposta
{
    Error: connect ECONNREFUSED 127.0 .0 .1: 80
    at TCPConnectWrap.afterConnect[as oncomplete](net.js: 1173: 14)
    errno: 'ECONNREFUSED',
    code: 'ECONNREFUSED',
    syscall: 'connect',
    address: '127.0.0.1',
    port: 80,
    config: {
        adapter: [Function: httpAdapter],
        transformRequest: {
            '0': [Function: transformRequest]
        },
        transformResponse: {
            '0': [Function: transformResponse]
        },
        timeout: 1500,
        xsrfCookieName: 'XSRF-TOKEN',
        xsrfHeaderName: 'X-XSRF-TOKEN',
        maxContentLength: -1,
        validateStatus: [Function: validateStatus],
        headers: {
            Accept: 'application/json, text/plain, */*',
            'User-Agent': 'axios/0.18.0'
        },
        method: 'get',
        baseUrl: 'https://reqres.in/api',
        url: '/users?page=2',
        data: undefined
    },
    request: Writable {
        _writableState: WritableState {
            objectMode: false,
            highWaterMark: 16384,
            finalCalled: false,
            needDrain: false,
            ending: false,
            ended: false,
            finished: false,
            destroyed: false,
            decodeStrings: true,
            defaultEncoding: 'utf8',
            length: 0,
            writing: false,
            corked: 0,
            sync: true,
            bufferProcessing: false,
            onwrite: [Function: bound onwrite],
            writecb: null,
            writelen: 0,
            bufferedRequest: null,
            lastBufferedRequest: null,
            pendingcb: 0,
            prefinished: false,
            errorEmitted: false,
            bufferedRequestCount: 0,
            corkedRequestsFree: [Object]
        },
        writable: true,
        _events: {
            response: [Function: handleResponse],
            error: [Function: handleRequestError]
        },
        _eventsCount: 2,
        _maxListeners: undefined,
        _options: {
            protocol: 'http:',
            maxRedirects: 21,
            maxBodyLength: 10485760,
            path: '/users?page=2',
            method: 'get',
            headers: [Object],
            agent: undefined,
            auth: undefined,
            hostname: null,
            port: null,
            nativeProtocols: [Object],
            pathname: '/users',
            search: '?page=2'
        },
        _redirectCount: 0,
        _requestBodyLength: 0,
        _requestBodyBuffers: [],
        _onNativeResponse: [Function],
        _currentRequest: ClientRequest {
            _events: [Object],
            _eventsCount: 6,
            _maxListeners: undefined,
            output: [],
            outputEncodings: [],
            outputCallbacks: [],
            outputSize: 0,
            writable: true,
            _last: true,
            upgrading: false,
            chunkedEncoding: false,
            shouldKeepAlive: false,
            useChunkedEncodingByDefault: false,
            sendDate: false,
            _removedConnection: false,
            _removedContLen: false,
            _removedTE: false,
            _contentLength: 0,
            _hasBody: true,
            _trailer: '',
            finished: true,
            _headerSent: true,
            socket: [Socket],
            connection: [Socket],
            _header: 'GET /users?page=2 HTTP/1.1\r\nAccept: application/json, text/plain, */*\r\nUser-Agent: axios/0.18.0\r\nHost: localhost\r\nConnection: close\r\n\r\n',
            _onPendingData: [Function: noopPendingOutput],
            agent: [Agent],
            socketPath: undefined,
            timeout: undefined,
            method: 'GET',
            path: '/users?page=2',
            _ended: false,
            res: null,
            aborted: undefined,
            timeoutCb: null,
            upgradeOrConnect: false,
            parser: null,
            maxHeadersCount: null,
            _redirectable: [Circular],
            [Symbol(isCorked)]: false,
            [Symbol(outHeadersKey)]: [Object]
        },
        _currentUrl: 'http:/users?page=2'
    },
    response: undefined
}

Contexto

  • versão axios: 0.18.0
  • Ambiente: nó v9.9.0, chrome 65.0.3325.181, Mac OSX 10.13.4 (17E199)

Comentários muito úteis

Por favor, IGNOREM ESSA QUESTÃO. Encontrou o problema:

Eu estava configurando baseUrl mas deveria ser baseURL .

Todos 13 comentários

Por favor, IGNOREM ESSA QUESTÃO. Encontrou o problema:

Eu estava configurando baseUrl mas deveria ser baseURL .

Engraçado, esse era o meu problema também. Só percebi o erro depois do seu comentário, obrigado senhor @tiarebalbi , você foi muito útil ahahahahahaha

Tenho certeza de que isso foi alterado, apenas copiei um código antigo com baseUrl que estava funcionando bem e agora não funciona em um projeto mais recente... Ah bem.

Salva-vidas, obrigado!

Muito obrigado! Este foi exatamente o mesmo problema para mim também. A pesquisa no Google "axios baseurl não está funcionando" valeu a pena :D

Mesmo problema aqui... obrigado!

querido Deus, mesmo problema aqui hahahaha, camelCase é uma merda

Como tantas pessoas podem cometer o mesmo erro? Estou procurando há mais de uma hora ^^
Havia um motivo para escrever o URL em letras maiúsculas?

Usar baseURL não está funcionando. Ele continua enviando solicitações para a porta 80

Quando eu logo a instância estou recebendo:

defaults: {
        headers: {
          common: [Object],
          delete: {},
          get: {},
          head: {},
          post: [Object],
          put: [Object],
          patch: [Object],
          'Content-Type': 'application/json; charset=utf-8'
        },
        baseURL: 'http://localhost:3000',
        transformRequest: [ [Function: transformRequest] ],
        transformResponse: [ [Function: transformResponse] ],
        timeout: 1000,
        adapter: [Function: xhrAdapter],
        xsrfCookieName: 'XSRF-TOKEN',
        xsrfHeaderName: 'X-XSRF-TOKEN',
        maxContentLength: -1,
        validateStatus: [Function: validateStatus]
      }

Para a configuração.

bem, provavelmente poderia haver um alias de baseUrl para baseURL

@kemicofa Você também pode postar um exemplo da solicitação ou melhor ainda criar um pequeno codepen?

Teve o mesmo problema. :P

Esta página foi útil?
0 / 5 - 0 avaliações