在angular中,我能够像这样封装所有的查询字符串参数……
checkAvailability(context: string, data: string): Observable<ResCheckAvailability> {
let url = 'http://someurl'
let params = new HttpParams();
params = params.append(context, data);
return this.http.get(url,{params: params})
.map(res => <ResCheckAvailability> res)
.do(dataReceived => console.log(dataReceived))
}有没有一些像这样优雅的东西是用apisauce做的?或者我需要做一些像这样的事情。
import { create } from 'apisauce'
export const CheckAvailability = async (context, data) => {
return api.get('http://someurl?context=' + context + '&data=' + data)
}发布于 2018-09-27 21:31:15
ApiSauce帮助您设置查询字符串,您只需将数据作为传递,它会将其附加到接口的最后。
例如,您希望在URL = 上发出GET请求
import {create} from 'apisauce'
const baseUrl = 'http://somebaseUrl'
const path = 'path'
//initialising api sauce
const api = create({
baseUrl,
headers: {
//your random headers},
timeout: 10000
})
//it will generate the above url
api.get(path, {
params: {
data: 3,
context: 2
}})如果您想进行POST,请将请求放在服务器上,并将有效负载放在相同的url(包含查询)上。
{ username: 'testingUsername' }
// I am skipping the initialisation part as it would be same for both
const data = {
username: 'testingUsername'
}
const params= {
params: {
context: 2,
data: 3
}
}
api.post(path, data, params);发布于 2018-09-28 23:40:41
这应该可以完成这项工作。
api.get(
'http://someurl.com/endpoint',
{ context: 'context' , data: 'data' },
{ headers: { Authorization: token, ... } }
)https://stackoverflow.com/questions/50545374
复制相似问题