Я делаю полностью приложение для искусственного искусства, ради экспериментов и потому что мне нужно было что -то быстрое. Одной из функций является импорт файла CSV в базу данных SQLite (я использую BUN), а другая добавляет примечания в какую -то строку, но я сталкиваюсь с проблемой, одна конечная точка работает, а другая - нет (среди прочего, но я использую этот в качестве примера), если я импортирую файл CSV, я отлично работает, но примечания не достигает сервера, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что не так, что я не знаю, что не так, что не так, что не так, что я не знаю, что я не знаю, что не так, что я не знаю, что я не знаю, что я не знаю, что не так, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что я не знаю, что не так. GROK может решить это.
Структура API выглядит следующим образом: < /p>
server /api
Миграции
clear.delete.ts (это работает) < /li>
/>status.post.ts (работает) < /li>
< /ul>
< /li>
/> < /li>
Server /Middleware
logrequests.global.ts (журналы запрашивают только в конечных точках, которые говорят, что это работает) < /li>
< /ul>
< /li>
< /ul>
Я выложу. то же самоеlet fetchOptions: RequestInit = {
method: "POST",
headers: { "Content-Type": "application/json" }, // Always JSON now
};
try {
if (currentUploadType === "main") {
apiUrl = "/api/migrations";
payload = { data: dataToUpload };
} else {
// PBR upload
apiUrl = "/api/pbr_import";
payload = { data: dataToUpload };
}
fetchOptions.body = JSON.stringify(payload);
const payloadSize = fetchOptions.body.length;
console.debug(`[UploadModal] Sending JSON payload (${payloadSize} bytes) to ${apiUrl}`);
const response = await $fetch(apiUrl, fetchOptions);
< /code>
noteSmodal.vue
// THIS DOESN'T WORK
try {
const response = await $fetch(apiUrl, {
//
migrations.post.ts - эта конечная точка для importmodal.vue, которая работает < /p>
import { db, dbReady } from "@/server/db/index";
// Import Kysely specific types if needed for stricter validation, or use Partial
import type { WafMigracionTable } from "@/server/db/types";
import logger from "@/server/utils/logger";
// Define type for incoming records more strictly based on Kysely Insertable if desired
// This helps catch issues earlier if CSV parsing yields unexpected types
type IncomingRecord = Partial;
export default defineEventHandler(async (event) => {
const requestInfo = { url: event.node.req.url, method: event.node.req.method };
logger.info("[POST /api/migrations] Received request.", requestInfo);
try {
// Ensure DB setup is complete
await dbReady;
< /code>
pbrimport.post.ts - это конечная точка API для importmodal.vue, Else, который публикует /API /PBR_IMPORT < /p>
// File: server/api/pbr_import.post.ts
import { db, dbReady } from "@/server/db/index";
import type { NewFirewallPbr, FirewallPbrUpdate } from "@/server/db/types";
import logger from "@/server/utils/logger";
// Remove readRawBody import if present
// import { readRawBody } from 'h3';
// Remove papaparse import
// import Papa from 'papaparse';
// Type for expected data row within body.data
interface PbrDataRow {
node_ip?: string | null;
priority?: number | string | null;
waf?: string | null;
[key: string]: any; // Allow other columns from client parsing
}
export default defineEventHandler(async (event) => {
const requestInfo = { url: event.node.req.url, method: event.node.req.method };
// Log expecting JSON now
logger.info("[POST /api/pbr_import] Received request (expecting JSON body).", requestInfo);
try {
await dbReady;
< /code>
notes.put.ts - эта конечная точка предназначена для notesmodal.vue, эта не работает, даже логгер.import { db, dbReady } from "@/server/db/index";
import type { NewVsNotes, VsNotesUpdate } from "@/server/db/types";
import logger from "@/server/utils/logger";
interface RequestBody {
virtual_server: string;
notes: string | null; // Allow null to clear notes
}
export default defineEventHandler(async (event) => {
const requestInfo = { url: event.node.req.url, method: event.node.req.method };
logger.info("[PUT /api/migrations/notes] Received request.", requestInfo);
try {
await dbReady;
< /code>
Сначала я подумал, что с файлом CSV что -то не так, но я сделал отдельный скрипт, чтобы поместить данные в базу данных, и это работает нормально, я просто не знаю, как или почему работает, а остальное нет, может быть, что -то не так с иерархией файла или названием? Для каждого случая запрос сделан на клиенте, но он навсегда ожидает, и они даже не достигают промежуточного программного обеспечения, не говоря уже о конечной точке, но миграции. Post.ts работает нормально. Я попробовал Axios для получения, я также даже пытался понизить Nuxt и ничего.
Подробнее здесь: https://stackoverflow.com/questions/795 ... t-and-serv
Некоторые конечные точки API Nuxt 3 работают, а некоторые - не та же самая логика кода для клиента и сервера ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
IntelliJ Idea Идея конечные точки с переменным путем в инструменте «Конечные точки»
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как защитить некоторые конечные точки с помощью mTL, а некоторые с помощью JWT?
Anonymous » » в форуме JAVA - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-