default 응답 처리
This commit is contained in:
@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
public class MockApiController {
|
public class MockApiController {
|
||||||
@@ -73,8 +74,14 @@ public class MockApiController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private MockResponse findMatchingResponse(MockRoute mockRoute, MockRequest mockRequest, Map<String, String> pathVariables) {
|
private MockResponse findMatchingResponse(MockRoute mockRoute, MockRequest mockRequest, Map<String, String> pathVariables) {
|
||||||
for (MockResponse response : mockRoute.getResponses()) {
|
|
||||||
|
|
||||||
|
MockResponse defaultResponse = mockRoute.getResponses().stream().filter(MockResponse::isDefaultResponse).findFirst().orElse(null);
|
||||||
|
List<MockResponse> 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)) {
|
if (response.getConditions() == null || isRequestMatching(response.getConditions(), mockRequest, pathVariables)) {
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,11 +114,12 @@
|
|||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<div class="row mt-1">
|
<div class="row mt-1">
|
||||||
<div class="col-md">
|
<div class="col-md condition">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<span>조건 항목</span>
|
<span>조건 항목</span>
|
||||||
|
<button type="button" class="btn btn-secondary btn-sm btn_remove_case">제거</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@@ -245,13 +246,11 @@
|
|||||||
controller.addResponse();
|
controller.addResponse();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#responseTabTitle').on('click', 'button', function () {
|
$('#responseTabContent').on('click', 'button', function () {
|
||||||
if ($(this).hasClass('btn_remove_case')) {
|
if ($(this).hasClass('btn_remove_case')) {
|
||||||
controller.removeResponse($(this).attr("data-id"));
|
controller.removeResponse($(this).attr("data-id"));
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
$('#responseTabContent').on('click', 'button', function () {
|
|
||||||
if ($(this).hasClass('btn_add_condition')) {
|
if ($(this).hasClass('btn_add_condition')) {
|
||||||
controller.addResponseCondition($(this).attr("data-id"));
|
controller.addResponseCondition($(this).attr("data-id"));
|
||||||
}
|
}
|
||||||
@@ -316,17 +315,11 @@
|
|||||||
.attr('role', 'tab')
|
.attr('role', 'tab')
|
||||||
.attr('aria-controls', 'response_tab_' + i)
|
.attr('aria-controls', 'response_tab_' + i)
|
||||||
.attr('aria-selected', 'false')
|
.attr('aria-selected', 'false')
|
||||||
.text(model.responses[i].defaultResponse?'기본 응답':('조건 ' + (i + 1)));
|
.text(model.responses[i].defaultResponse?'기본 응답':('조건 ' + i));
|
||||||
|
|
||||||
// let minusButton = $('<button>').attr('class', 'btn btn-sm btn_remove_case')
|
|
||||||
// .attr('type', 'button')
|
|
||||||
// .attr('data-id', i)
|
|
||||||
// .html('<i class="fa fa-minus-circle"></i>');
|
|
||||||
|
|
||||||
let li = $('<li>').attr('class', 'nav-item')
|
let li = $('<li>').attr('class', 'nav-item')
|
||||||
.attr('role','presentation')
|
.attr('role','presentation')
|
||||||
.append(tabButton);
|
.append(tabButton);
|
||||||
// .append(minusButton);
|
|
||||||
|
|
||||||
$('#responseTabTitle').append(li);
|
$('#responseTabTitle').append(li);
|
||||||
|
|
||||||
@@ -336,6 +329,8 @@
|
|||||||
nodeCopy.attr('class', 'tab-pane fade ' + (model.responses[i].defaultResponse? 'show active' : ''));
|
nodeCopy.attr('class', 'tab-pane fade ' + (model.responses[i].defaultResponse? 'show active' : ''));
|
||||||
if (model.responses[i].defaultResponse) {
|
if (model.responses[i].defaultResponse) {
|
||||||
nodeCopy.find('.condition_name').text('기본 응답');
|
nodeCopy.find('.condition_name').text('기본 응답');
|
||||||
|
nodeCopy.find('.condition').attr('class', 'condition')
|
||||||
|
nodeCopy.find('.condition').attr('style', 'visibility: hidden; height: 0; width:0;')
|
||||||
}else {
|
}else {
|
||||||
nodeCopy.find('.condition_name').text('조건 ' + (i + 1));
|
nodeCopy.find('.condition_name').text('조건 ' + (i + 1));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user