default 응답 처리
This commit is contained in:
@@ -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<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)) {
|
||||
return response;
|
||||
}
|
||||
|
||||
@@ -114,11 +114,12 @@
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="row mt-1">
|
||||
<div class="col-md">
|
||||
<div class="col-md condition">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between">
|
||||
<span>조건 항목</span>
|
||||
<button type="button" class="btn btn-secondary btn-sm btn_remove_case">제거</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@@ -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 = $('<button>').attr('class', 'btn btn-sm btn_remove_case')
|
||||
// .attr('type', 'button')
|
||||
// .attr('data-id', i)
|
||||
// .html('<i class="fa fa-minus-circle"></i>');
|
||||
.text(model.responses[i].defaultResponse?'기본 응답':('조건 ' + i));
|
||||
|
||||
let li = $('<li>').attr('class', 'nav-item')
|
||||
.attr('role','presentation')
|
||||
.append(tabButton);
|
||||
// .append(minusButton);
|
||||
|
||||
$('#responseTabTitle').append(li);
|
||||
|
||||
@@ -336,6 +329,8 @@
|
||||
nodeCopy.attr('class', 'tab-pane fade ' + (model.responses[i].defaultResponse? 'show active' : ''));
|
||||
if (model.responses[i].defaultResponse) {
|
||||
nodeCopy.find('.condition_name').text('기본 응답');
|
||||
nodeCopy.find('.condition').attr('class', 'condition')
|
||||
nodeCopy.find('.condition').attr('style', 'visibility: hidden; height: 0; width:0;')
|
||||
}else {
|
||||
nodeCopy.find('.condition_name').text('조건 ' + (i + 1));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user