In [./lib/core/Axios.js](https://github.com/axios/axios/blob/master/lib/core/Axios.js#L35) 

```js
config = utils.merge(defaults, this.defaults, { method: 'get' }, config);
```
The method is always overwritten with the ` { method: 'get' }`, so you are forced to pass the method in each request, like the following: 
```js
const myAlwaysPostAPI = axios.create({
  baseURL: 'http://localhost'
  url    : '/myResource',
});

myAlwaysPostAPI({
  method: 'post', //always forced to pass this in each API call
  data      : {key: 'value'}
});

```
this also affects 
```
myAPI.defaults.method = 'post'; //does NOT work
```
### Expected Behavier
```js
const myAlwaysPostAPI = axios.create({
  baseURL: 'http://localhost'
  url    : '/myResource',
  method: 'post'
});

myAlwaysPostAPI({
  data: {key: 'value'}
});
```


I think the solution is to move the default method to defaults file, will follow this issue with a PR for that.
lib/core/Axios.js
});
  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
    chain.push(interceptor.fulfilled, interceptor.rejected);
  });
  while (chain.length) {
    promise = promise.then(chain.shift(), chain.shift());
  }
  return promise;
};
utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
  
  Axios.prototype[method] = function(url, config) {
    return this.request(utils.merge(config || {}, {
      method: method,
      url: url
    }));
  };
});
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  
  Axios.prototype[method] = function(url, data, config) {
    return this.request(utils.merge(config || {}, {
      method: method,
      url: url,
      data: data
    }));
  };
});
module.exports = Axios;