У меня есть служба angular, которая имеет запрос GET с параметрами currentPage
и postsPerPage
. Я пытаюсь передать параметры в функцию azure, и я следую инструкциям, в которых рассказывается, как настроить прокси.
, если я использую этот URL, который предоставляется при запуске func start
}>(`http://localhost:7071/api/GetListingsWithPagination/`, { params })
тогда я могу достичь конечной точки и ошибка currentPage is undefined
. Что хорошо, потому что я не передаю currentPage
с прокси.
Итак, перейдем к настройке прокси:
![enter image description here](https://i.stack.imgur.com/bHRkf.png)
с этой конфигурацией у меня есть angular служба
с использованием этой конечной точки в angular службе
}>(`https://[sitename].azurewebsites.net/api/listings/${postsPerPage}/${currentPage}`, { params })
, но она возвращает
401 unauthorized
в консоли браузера и никогда не выводится в azure функциональной консоли.
Как мне заставить мои параметры работать?
angular service
getWins(bidderId: string, currentPage: number, listingRoute: string) {
const postsPerPage = 10;
const queryParams = postsPerPage + "/" + currentPage;
const params = new HttpParams()
.set("bidderId", bidderId)
.set("listingRoute", listingRoute);
return this.http
.get<{
message: string;
posts: any;
maxPosts: number;
activeBidsList: string;
}>(`https://[sitename].azurewebsites.net/api/listings/${postsPerPage}/${currentPage}`, { params })
.pipe(
map(retrievedData => {
return {
posts: retrievedData.posts.map(post => {
return {
title: post.title,
startingBid: post.startingBid,
increments: post.increments,
shippingCost: post.shippingCost,
bidderId: post.bidderId,
id: post._id
};
}),
maxPosts: retrievedData.maxPosts
};
})
);
}
azure function
var MongoClient = require('mongodb').MongoClient;
//var Post = require('./model/post');
module.exports = function (context, req) {
MongoClient.connect(process.env.CosmosDBConnectionString, (err, client) => {
let send = response(client, context);
if (err) send(500, err.message);
console.log("DBNAME: " + process.env.dbName);
let db = client.db(process.env.dbName);
let params = ({ currentPage, postsPerPage } = req.params);
let postPerPage = +params.postPerPage;
let currentPage = params.currentPage;
console.log(postsPerPage);
console.log(currentPage);
return;
});
}