diff --git a/app/main.py b/app/main.py index 036e056..977bc70 100644 --- a/app/main.py +++ b/app/main.py @@ -6,6 +6,7 @@ from fastapi.staticfiles import StaticFiles from datetime import date import json +from typing import List app = FastAPI() @@ -56,7 +57,7 @@ def add_route( endpoint: str = Form(...), response_message: str = Form(...), response_status: int = Form(...), - methods: list = Form([]), + methods: List[str] = Form(...), ): if endpoint.startswith("/"): endpoint = endpoint[1:] diff --git a/app/templates/index.html b/app/templates/index.html index 098e88d..156f63d 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -5,7 +5,7 @@ - Mock Server Config Viewer + Mock Server Config @@ -153,24 +153,57 @@

Mock Server Config Viewer


+ GET
+ POST
+ PUT


@@ -221,6 +254,7 @@

Current Route Config

Endpoint + Methods Response Status @@ -229,6 +263,7 @@

Current Route Config

{% for route_data in routes_data %} {{ route_data.get('endpoint') }} + {{ route_data.get('methods') }} {{ route_data.get('response') }} {{ route_data.get('status') }} @@ -244,17 +279,23 @@

Current Route Config

function validateJson() { const form = document.getElementById("jsonForm"); const jsonData = form.response_message.value; + const selectedMethods = [ + ...form.querySelectorAll('input[name="methods"]:checked'), + ].map((cb) => cb.value); - if (isValid(jsonData)) { - form.submit(); - } else { + if (!isValid(jsonData)) { alert("Invalid JSON format. Please correct it."); + } else if (selectedMethods.length === 0) { + alert("Please select at least one method."); + } else { + form.submit(); } } function isValid(jsonString) { try { JSON.parse(jsonString); + return true; } catch { return false; diff --git a/config.yml b/config.yml index 93885e9..6a5d20b 100644 --- a/config.yml +++ b/config.yml @@ -1,10 +1,14 @@ routes: - - endpoint: /hello - response: - message: Hello, Mock Server! - status: 200 - - endpoint: /status - response: - message: available - status: ok - status: 200 +- endpoint: hello + methods: + - GET + response: + message: Hello, Mock Server! + status: 200 +- endpoint: status + methods: + - GET + response: + message: available + status: ok + status: 200