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