diff --git a/src/main/java/com/eactive/httpmockserver/api/controller/MockApiController.java b/src/main/java/com/eactive/httpmockserver/api/controller/MockApiController.java index 9213870..59f6629 100644 --- a/src/main/java/com/eactive/httpmockserver/api/controller/MockApiController.java +++ b/src/main/java/com/eactive/httpmockserver/api/controller/MockApiController.java @@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Controller public class MockApiController { @@ -73,8 +74,14 @@ public class MockApiController { } private MockResponse findMatchingResponse(MockRoute mockRoute, MockRequest mockRequest, Map pathVariables) { - for (MockResponse response : mockRoute.getResponses()) { + MockResponse defaultResponse = mockRoute.getResponses().stream().filter(MockResponse::isDefaultResponse).findFirst().orElse(null); + List responses = mockRoute.getResponses().stream().filter(response -> !response.isDefaultResponse()).collect(Collectors.toList()); + if(defaultResponse!=null){ + responses.add(defaultResponse); + } + + for (MockResponse response : responses) { if (response.getConditions() == null || isRequestMatching(response.getConditions(), mockRequest, pathVariables)) { return response; } diff --git a/src/main/resources/templates/page/routes/mockRouteEdit.html b/src/main/resources/templates/page/routes/mockRouteEdit.html index 0111361..be7fb5c 100644 --- a/src/main/resources/templates/page/routes/mockRouteEdit.html +++ b/src/main/resources/templates/page/routes/mockRouteEdit.html @@ -114,11 +114,12 @@
-
+
조건 항목 +
@@ -245,13 +246,11 @@ controller.addResponse(); }); - $('#responseTabTitle').on('click', 'button', function () { + $('#responseTabContent').on('click', 'button', function () { if ($(this).hasClass('btn_remove_case')) { controller.removeResponse($(this).attr("data-id")); } - }); - $('#responseTabContent').on('click', 'button', function () { if ($(this).hasClass('btn_add_condition')) { controller.addResponseCondition($(this).attr("data-id")); } @@ -316,17 +315,11 @@ .attr('role', 'tab') .attr('aria-controls', 'response_tab_' + i) .attr('aria-selected', 'false') - .text(model.responses[i].defaultResponse?'기본 응답':('조건 ' + (i + 1))); - - // let minusButton = $('