Added request body to history entity and DTO.
Changed @GetMapping in MockController to @RequestMapping
This commit is contained in:
@@ -181,7 +181,7 @@ public class MockController {
|
|||||||
* @param mockedResponseId unique id of given message
|
* @param mockedResponseId unique id of given message
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = "/r/{clientUUID}/{mockedResponseId}")
|
@RequestMapping(value = "/r/{clientUUID}/{mockedResponseId}")
|
||||||
public ResponseEntity getMockedResponse(
|
public ResponseEntity getMockedResponse(
|
||||||
@PathVariable UUID clientUUID,
|
@PathVariable UUID clientUUID,
|
||||||
@PathVariable int mockedResponseId) {
|
@PathVariable int mockedResponseId) {
|
||||||
|
|||||||
@@ -5,11 +5,15 @@ import com.r11.tools.service.RequestHistoryService;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.util.StreamUtils;
|
||||||
import org.springframework.web.servlet.HandlerInterceptor;
|
import org.springframework.web.servlet.HandlerInterceptor;
|
||||||
import org.springframework.web.servlet.HandlerMapping;
|
import org.springframework.web.servlet.HandlerMapping;
|
||||||
|
import org.springframework.web.util.ContentCachingRequestWrapper;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -25,6 +29,7 @@ public class IncomingMockRequestInterceptor implements HandlerInterceptor {
|
|||||||
public boolean preHandle(HttpServletRequest httpRequest, HttpServletResponse response, Object handler){
|
public boolean preHandle(HttpServletRequest httpRequest, HttpServletResponse response, Object handler){
|
||||||
Map<String,String> headers = getHeadersFromHttpRequest(httpRequest);
|
Map<String,String> headers = getHeadersFromHttpRequest(httpRequest);
|
||||||
Map<String,String> pathVariable = getPathVariablesFromHttpRequest(httpRequest);
|
Map<String,String> pathVariable = getPathVariablesFromHttpRequest(httpRequest);
|
||||||
|
String requestBody = getRequestBodyFromHttpRequest(httpRequest);
|
||||||
|
|
||||||
RequestHistoryDTO historyDTO = RequestHistoryDTO.builder()
|
RequestHistoryDTO historyDTO = RequestHistoryDTO.builder()
|
||||||
.httpMethod(HttpMethod.valueOf(httpRequest.getMethod()))
|
.httpMethod(HttpMethod.valueOf(httpRequest.getMethod()))
|
||||||
@@ -32,6 +37,7 @@ public class IncomingMockRequestInterceptor implements HandlerInterceptor {
|
|||||||
.messageID(Integer.valueOf(pathVariable.get("mockedResponseId")))
|
.messageID(Integer.valueOf(pathVariable.get("mockedResponseId")))
|
||||||
.clientUUID(UUID.fromString(pathVariable.get("clientUUID")))
|
.clientUUID(UUID.fromString(pathVariable.get("clientUUID")))
|
||||||
.dateTimeStamp(LocalDateTime.now())
|
.dateTimeStamp(LocalDateTime.now())
|
||||||
|
.requestBody(requestBody)
|
||||||
.build();
|
.build();
|
||||||
historyService.saveRequest(historyDTO);
|
historyService.saveRequest(historyDTO);
|
||||||
return true;
|
return true;
|
||||||
@@ -56,5 +62,13 @@ public class IncomingMockRequestInterceptor implements HandlerInterceptor {
|
|||||||
return (Map<String, String>) httpRequest.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
|
return (Map<String, String>) httpRequest.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getRequestBodyFromHttpRequest( HttpServletRequest httpRequest ){
|
||||||
|
HttpServletRequest wrappedRequest = new ContentCachingRequestWrapper(httpRequest);
|
||||||
|
try {
|
||||||
|
return StreamUtils.copyToString(wrappedRequest.getInputStream(), Charset.defaultCharset());
|
||||||
|
} catch (IOException e) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ public class RequestHistory implements Comparable<RequestHistory>, Serializable
|
|||||||
private Integer messageID;
|
private Integer messageID;
|
||||||
private Map<String,String> headers;
|
private Map<String,String> headers;
|
||||||
private HttpMethod httpMethod;
|
private HttpMethod httpMethod;
|
||||||
|
private String requestBody;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int compareTo(RequestHistory o) {
|
public int compareTo(RequestHistory o) {
|
||||||
|
|||||||
@@ -28,5 +28,6 @@ public class RequestHistoryDTO {
|
|||||||
private Integer messageID;
|
private Integer messageID;
|
||||||
private Map<String,String> headers;
|
private Map<String,String> headers;
|
||||||
private HttpMethod httpMethod;
|
private HttpMethod httpMethod;
|
||||||
|
private String requestBody;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.r11.tools.service;
|
package com.r11.tools.service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.r11.tools.mappers.MockedMessageMapper;
|
import com.r11.tools.mappers.MockedMessageMapper;
|
||||||
import com.r11.tools.model.MockedMessage;
|
import com.r11.tools.model.MockedMessage;
|
||||||
import com.r11.tools.model.MockedMessageDto;
|
import com.r11.tools.model.MockedMessageDto;
|
||||||
@@ -13,6 +12,7 @@ import org.springframework.http.HttpHeaders;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@@ -30,7 +30,6 @@ public class KlausServiceImpl implements KlausService {
|
|||||||
private final MockedMessageMapper mockedMessageMapper;
|
private final MockedMessageMapper mockedMessageMapper;
|
||||||
private final Logger log = LogManager.getRootLogger();
|
private final Logger log = LogManager.getRootLogger();
|
||||||
private final MockedResponseRepository mockedResponseRepository;
|
private final MockedResponseRepository mockedResponseRepository;
|
||||||
private final ObjectMapper objectMapper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes message of given id in given key-uuid set
|
* Removes message of given id in given key-uuid set
|
||||||
|
|||||||
Reference in New Issue
Block a user