下面列出了org.springframework.web.bind.annotation.RequestMethod#name ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Add operation description.
*
* @param operation the operation
* @param requestMethod the request method
* @param entity the entity
*/
private void addOperationDescription(Operation operation, RequestMethod requestMethod, String entity) {
switch (requestMethod) {
case GET:
operation.setDescription("get-" + entity);
break;
case POST:
operation.setDescription("create-" + entity);
break;
case DELETE:
operation.setDescription("delete-" + entity);
break;
case PUT:
operation.setDescription("update-" + entity);
break;
case PATCH:
operation.setDescription("patch-" + entity);
break;
default:
throw new IllegalArgumentException(requestMethod.name());
}
}
@Test
public void getMatchingConditionWithEmptyConditions() {
RequestMethodsRequestCondition condition = new RequestMethodsRequestCondition();
for (RequestMethod method : RequestMethod.values()) {
if (method != OPTIONS) {
HttpServletRequest request = new MockHttpServletRequest(method.name(), "");
assertNotNull(condition.getMatchingCondition(request));
}
}
testNoMatch(condition, OPTIONS);
}
/**
* Add response.
*
* @param requestMethod the request method
* @param operationPath the operation path
* @param apiResponses the api responses
* @param apiResponse the api response
*/
private void addResponse(RequestMethod requestMethod, String operationPath, ApiResponses apiResponses, ApiResponse apiResponse) {
switch (requestMethod) {
case GET:
addResponse200(apiResponses, apiResponse);
if (operationPath.contains("/{id}"))
addResponse404(apiResponses);
break;
case POST:
apiResponses.put(String.valueOf(HttpStatus.CREATED.value()), apiResponse.description(HttpStatus.CREATED.getReasonPhrase()));
break;
case DELETE:
addResponse204(apiResponses);
addResponse404(apiResponses);
break;
case PUT:
addResponse200(apiResponses, apiResponse);
apiResponses.put(String.valueOf(HttpStatus.CREATED.value()), new ApiResponse().content(apiResponse.getContent()).description(HttpStatus.CREATED.getReasonPhrase()));
addResponse204(apiResponses);
break;
case PATCH:
addResponse200(apiResponses, apiResponse);
addResponse204(apiResponses);
break;
default:
throw new IllegalArgumentException(requestMethod.name());
}
}
@Test
public void getMatchingConditionWithEmptyConditions() {
RequestMethodsRequestCondition condition = new RequestMethodsRequestCondition();
for (RequestMethod method : RequestMethod.values()) {
if (method != OPTIONS) {
HttpServletRequest request = new MockHttpServletRequest(method.name(), "");
assertNotNull(condition.getMatchingCondition(request));
}
}
testNoMatch(condition, OPTIONS);
}
private void testMatch(RequestMethodsRequestCondition condition, RequestMethod method) {
MockHttpServletRequest request = new MockHttpServletRequest(method.name(), "");
RequestMethodsRequestCondition actual = condition.getMatchingCondition(request);
assertNotNull(actual);
assertEquals(Collections.singleton(method), actual.getContent());
}
private void testNoMatch(RequestMethodsRequestCondition condition, RequestMethod method) {
MockHttpServletRequest request = new MockHttpServletRequest(method.name(), "");
assertNull(condition.getMatchingCondition(request));
}
private void testMatch(RequestMethodsRequestCondition condition, RequestMethod method) {
MockHttpServletRequest request = new MockHttpServletRequest(method.name(), "");
RequestMethodsRequestCondition actual = condition.getMatchingCondition(request);
assertNotNull(actual);
assertEquals(Collections.singleton(method), actual.getContent());
}
private void testNoMatch(RequestMethodsRequestCondition condition, RequestMethod method) {
MockHttpServletRequest request = new MockHttpServletRequest(method.name(), "");
assertNull(condition.getMatchingCondition(request));
}