Angular 6にサービスがあり、レコードを変更しようとしていますが、許可されていません。
今私はこれを持っています:
const httpOptions = {
headers: new HttpHeaders({'Content-Type': 'application/json'})
};
update(id, title, content) {
const updateData = { id: id, title: title, content: content };
return this.http.put(`http://myurl/${id}`, updateData, httpOptions);
}
私の質問は:
HttpOptionsに基本認証を追加するにはどうすればよいですか、または更新メソッドに直接追加しますか?
次のように、ヘッダーに追加することで基本認証を追加できます。
var headers_object = new HttpHeaders();
headers_object.append('Content-Type', 'application/json');
headers_object.append("Authorization", "Basic " + btoa("username:password"));
const httpOptions = {
headers: headers_object
};
Angular.ioのドキュメントを見ると、非常に簡単です。
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Basic my-auth-token'
})
};
また、httpOptions
定数を使用できます。
このようにヘッダーにトークン/承認を追加するだけです-
let httpHeaders = new HttpHeaders()
.set('authorization', this.authorizationHeaderValue)
.set('Content-Type', application/json);
どちらにもsetやappendなどのメソッドがあります。 setは、新しい値を持つ新しいボディを構築し、appendは値が付加された新しいボディを構築します
PS:ここでは、変数(this.authorizationHeaderValue)の値がBearer
やBasic
などの値に含まれていると想定しています。必要に応じて変更してください。
詳細はこちらをご覧ください