parent
							
								
									44f3c76c78
								
							
						
					
					
						commit
						340598ee66
					
				| @ -0,0 +1,20 @@ | ||||
| package com.gitee.sop.adminserver.api.service.param; | ||||
| 
 | ||||
| import com.gitee.easyopen.doc.annotation.ApiDocField; | ||||
| import lombok.Data; | ||||
| 
 | ||||
| import javax.validation.constraints.NotBlank; | ||||
| 
 | ||||
| /** | ||||
|  * @author tanghc | ||||
|  */ | ||||
| @Data | ||||
| public class ServiceInstanceParam { | ||||
|     @ApiDocField(description = "serviceId") | ||||
|     @NotBlank(message = "serviceId不能为空") | ||||
|     private String serviceId; | ||||
| 
 | ||||
|     @ApiDocField(description = "instanceId") | ||||
|     @NotBlank(message = "instanceId不能为空") | ||||
|     private String instanceId; | ||||
| } | ||||
| @ -1,20 +1,70 @@ | ||||
| package com.gitee.sop.adminserver.bean; | ||||
| 
 | ||||
| import okhttp3.MediaType; | ||||
| import okhttp3.Request; | ||||
| import okhttp3.RequestBody; | ||||
| import okhttp3.internal.http.HttpMethod; | ||||
| import org.apache.commons.lang.ArrayUtils; | ||||
| import org.springframework.web.bind.annotation.RequestMethod; | ||||
| 
 | ||||
| /** | ||||
|  * https://github.com/Netflix/eureka/wiki/Eureka-REST-operations
 | ||||
|  * | ||||
|  * @author tanghc | ||||
|  */ | ||||
| public enum EurekaUri { | ||||
| 
 | ||||
|     /** Query for all instances */ | ||||
|     QUERY_APPS("/apps"), | ||||
|     /** | ||||
|      * 查询所有实例 Query for all instances | ||||
|      */ | ||||
|     QUERY_APPS(RequestMethod.GET, "/apps"), | ||||
|     /** | ||||
|      * 下线 Take instance out of service | ||||
|      */ | ||||
|     OFFLINE_SERVICE(RequestMethod.PUT, "/apps/%s/%s/status?value=OUT_OF_SERVICE"), | ||||
|     /** | ||||
|      * 上线 Move instance back into service (remove override) | ||||
|      */ | ||||
|     ONLINE_SERVICE(RequestMethod.DELETE, "/apps/%s/%s/status?value=UP"), | ||||
|     ; | ||||
|     public static final String URL_PREFIX = "/"; | ||||
| 
 | ||||
|     String uri; | ||||
|     RequestMethod requestMethod; | ||||
| 
 | ||||
|     EurekaUri(String uri) { | ||||
|     EurekaUri(RequestMethod httpMethod, String uri) { | ||||
|         if (!uri.startsWith(URL_PREFIX)) { | ||||
|             uri = "/" + uri; | ||||
|         } | ||||
|         this.uri = uri; | ||||
|         this.requestMethod = httpMethod; | ||||
|     } | ||||
| 
 | ||||
|     public String getUri(String... args) { | ||||
|         if (ArrayUtils.isEmpty(args)) { | ||||
|             return uri; | ||||
|         } | ||||
|         Object[] param = ArrayUtils.clone(args); | ||||
|         return String.format(uri, param); | ||||
|     } | ||||
| 
 | ||||
|     public String getUri() { | ||||
|         return uri; | ||||
|     }} | ||||
|     public Request getRequest(String url, String... args) { | ||||
|         String requestUrl = url + getUri(args); | ||||
|         Request request = this.getBuilder() | ||||
|                 .url(requestUrl) | ||||
|                 .addHeader("Content-Type", "application/json") | ||||
|                 .addHeader("Accept", "application/json") | ||||
|                 .build(); | ||||
|         return request; | ||||
|     } | ||||
| 
 | ||||
|     public Request.Builder getBuilder() { | ||||
|         String method = requestMethod.name(); | ||||
|         RequestBody requestBody = null; | ||||
|         if (HttpMethod.requiresRequestBody(method)) { | ||||
|             MediaType contentType = MediaType.parse(org.springframework.http.MediaType.APPLICATION_JSON_VALUE); | ||||
|             requestBody = RequestBody.create(contentType, "{}"); | ||||
|         } | ||||
|         return new Request.Builder().method(requestMethod.name(), requestBody); | ||||
|     } | ||||
| } | ||||
|  | ||||
					Loading…
					
					
				
		Reference in new issue