2017-11-03 3 views
1

webpackでAngular 2を使用しています。 私は、ヘッダパラメータの最初の文字が自動的に小文字に変換されるという問題に直面しています。例えば。角2の要求ヘッダーは、webpackで自動的に小文字に変換されます

Accept': 'application/json, text/plain

{ 
    "name": "life-inventory", 
    "version": "1.0.0", 
    "description": "Life lazy loading", 
    "scripts": { 
    "start": "webpack-dev-server --inline --progress --port 8080", 
    "build": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail", 
    "postinstall": "typings install" 
    }, 
    "license": "MIT", 
    "dependencies": { 
    "@angular/common": "2.0.0", 
    "@angular/compiler": "2.0.0", 
    "@angular/core": "2.0.0", 
    "@angular/forms": "2.0.0", 
    "@angular/http": "2.0.0", 
    "@angular/platform-browser": "2.0.0", 
    "@angular/platform-browser-dynamic": "2.0.0", 
    "@angular/router": "3.0.0", 
    "angular2-materialize": "^6.7.2", 
    "core-js": "^2.4.1", 
    "rxjs": "5.0.0-beta.12", 
    "systemjs": "0.19.40", 
    "vue-router": "^2.5.2", 
    "zone.js": "^0.6.23" 
    }, 
    "devDependencies": { 
    "@types/jquery": "^2.0.41", 
    "angular2-router-loader": "^0.2.2", 
    "angular2-template-loader": "^0.4.0", 
    "awesome-typescript-loader": "^3.0.0-beta.17", 
    "angular2-materialize": "^6.7.2", 
    "copy-webpack-plugin": "^4.0.1", 
    "css-loader": "^0.23.1", 
    "extract-text-webpack-plugin": "^1.0.1", 
    "file-loader": "^0.8.5", 
    "html-loader": "^0.4.3", 
    "html-webpack-plugin": "^2.15.0", 
    "jasmine-core": "^2.4.1", 
    "karma": "^1.2.0", 
    "karma-jasmine": "^1.0.2", 
    "karma-phantomjs-launcher": "^1.0.2", 
    "karma-sourcemap-loader": "^0.3.7", 
    "karma-webpack": "^1.8.0", 
    "phantomjs-prebuilt": "^2.1.7", 
    "raw-loader": "^0.5.1", 
    "reflect-metadata": "^0.1.8", 
    "rimraf": "^2.5.2", 
    "style-loader": "^0.13.1", 
    "ts-loader": "^0.8.1", 
    "typescript": "2.3.4", 
    "typings": "^1.3.2", 
    "webpack": "^1.13.0", 
    "webpack-dev-server": "^1.14.1", 
    "webpack-merge": "^0.14.0" 
    } 
} 

私の要求ファイルが

あるpakage.json

accept':'application/json, text/plain

に変換し、

import {Injectable} from '@angular/core'; 
import {Headers, Http, URLSearchParams, Response} from "@angular/http"; 

private headers = new Headers({ 
     'content-Type': 'application/json', 
     'Accept': 'application/json, text/plain, */*' 
     }); 

addToken() { 
     if (jQuery.jStorage.get('currentUser')) { 
      this.token = jQuery.parseJSON(jQuery.jStorage.get('currentUser')).token; 
      this.headers.set('csToken', this.token); 
      this.headers2.set('csToken', this.token); 
      this.username = jQuery.parseJSON(jQuery.jStorage.get('currentUser')).username; 
     } 
    } 

getDashboard(): Promise<Gast[]> { 
     this.addToken(); 
     const url = `${this.apiUrl}/Dashboard?format=json`; 
     debugger 
     return this.http.get(url, {headers: this.headers}) 
      .toPromise() 
      .then(response => response.json().data as Gast[]) 
      .catch(this.handleError); 
    } 

私は.set & .appendヘッダーの方法を試してみましたが、機能しません。

答えて

0

ヘッダーがキャメルケースかアッパーかどうかは関係ありません。理想的には問題ではありません。 Httpの実装は大文字と小文字を区別しないでください。あなたのケースで問題がある場合は、apisのコードを正しく実装しているかどうか、バックエンドチームに確認してください。

+0

キャメルケースにヘッダーを渡す方法はありますか? –

+0

はインターセプタを作成するので、問題なくカスタムヘッダーを渡すこともできます。 –

関連する問題