Я использую vue.js для внешнего интерфейса веб-приложения. Я собираюсь разместить функцию Azure для выполнения http-вызовов для выполнения некоторых операций CRUD базы данных cosmos db. На vue.js я использую axios для выполнения http-вызовов. К сожалению, при использовании axios я получаю странное поведение, одно из полей из db - это id, который является гидом, автоматически сгенерированным cosmos db, по какой-то причине идентификатор, возвращаемый в массив данных axios, является неправильным id, этопохоже, возвращает последовательный int id.
Функции лазури проверены почтальоном и отлично работают. В ответе на запрос axios я вижу все данные с правильным идентификатором. Мне было интересно, почему массив данных возвращает неправильный идентификатор.
Я попытался передать весь заголовок, который использует почтальон, и у меня ничего не получилось.
Вот скриншот результатов ![enter image description here](https://i.stack.imgur.com/9WnIw.png)
Вот как я вызываю метод get для одного из моих компонентов и код функции Azure:
//Component.Vue
created() {
axios.get('/cart')
.then(res => {
console.log(res)
}
})
.catch(error=> console.log(error))
},
//Azure function
[FunctionName("GetAllCarts")]
public static IActionResult GetAllCarts([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "cart")]HttpRequest req,
[CosmosDB(databaseName: "MedCartDB", collectionName: "MedCarts", ConnectionStringSetting = "CosmosDBConnection", SqlQuery = "SELECT * FROM c")] IEnumerable<CartItem> carts,
ILogger log)
{
log.LogInformation("Getting all carts");
if (carts == null)
{
return new NotFoundResult();
}
return new OkObjectResult(carts);
}
//CartItem.cs
public class CartItem
{
[JsonProperty("id")]
public string id { get; set; }
[JsonProperty("facilityid")]
public string FacilityId { get; set; }
[JsonProperty("hostname")]
public string Hostname { get; set; }
[JsonProperty("serialnumber")]
public string SerialNumber { get; set; }
}