You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by mi...@apache.org on 2018/09/28 03:34:06 UTC
[incubator-dubbo-ops] branch develop updated: Add BaseDTO for
receive ID parameter with @RequestBody. (#123)
This is an automated email from the ASF dual-hosted git repository.
min pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-ops.git
The following commit(s) were added to refs/heads/develop by this push:
new 063fcfe Add BaseDTO for receive ID parameter with @RequestBody. (#123)
063fcfe is described below
commit 063fcfe5969fdef5e94b9bb0fb7343c27ee02674
Author: 马金凯 <ma...@vip.qq.com>
AuthorDate: Fri Sep 28 11:33:51 2018 +0800
Add BaseDTO for receive ID parameter with @RequestBody. (#123)
Add detail api.
Change `search` to GET method.
Change `delete` parameter use BaseDTO.
---
.../dubbo/admin/controller/AccessesController.java | 39 +++++++++++++++-------
.../java/org/apache/dubbo/admin/dto/AccessDTO.java | 11 +-----
.../admin/dto/{AccessDTO.java => BaseDTO.java} | 39 ++++------------------
.../src/components/AccessControl.vue | 6 ++--
4 files changed, 38 insertions(+), 57 deletions(-)
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/AccessesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/AccessesController.java
index 027b583..389f4fa 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/AccessesController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/AccessesController.java
@@ -20,7 +20,7 @@ import com.alibaba.dubbo.common.logger.Logger;
import com.alibaba.dubbo.common.logger.LoggerFactory;
import org.apache.commons.lang3.StringUtils;
import org.apache.dubbo.admin.dto.AccessDTO;
-import org.apache.dubbo.admin.governance.service.ProviderService;
+import org.apache.dubbo.admin.dto.BaseDTO;
import org.apache.dubbo.admin.governance.service.RouteService;
import org.apache.dubbo.admin.registry.common.domain.Route;
import org.apache.dubbo.admin.registry.common.route.RouteRule;
@@ -37,20 +37,16 @@ public class AccessesController {
@Resource
private RouteService routeService;
- @Resource
- private ProviderService providerService;
- @RequestMapping("/search")
- public List<AccessDTO> searchAccess(@RequestBody(required = false) Map<String, String> params) throws ParseException {
+ @RequestMapping(value = "/search", method = RequestMethod.GET)
+ public List<AccessDTO> searchAccess(@RequestParam(required = false) String service) throws ParseException {
List<AccessDTO> result = new ArrayList<>();
List<Route> routes = new ArrayList<>();
- if (StringUtils.isNotBlank(params.get("service"))) {
- Route route = routeService.getBlackwhitelistRouteByService(params.get("service").trim());
+ if (StringUtils.isNotBlank(service)) {
+ Route route = routeService.getBlackwhitelistRouteByService(service.trim());
if (route != null) {
routes.add(route);
}
- } else {
- //TODO throw exception
}
for (Route route : routes) {
@@ -67,15 +63,34 @@ public class AccessesController {
result.add(accessDTO);
}
}
+
return result;
}
+ @RequestMapping(value = "/detail", method = RequestMethod.GET)
+ public AccessDTO detailAccess(@RequestParam Long id) throws ParseException {
+ Route route = routeService.findRoute(id);
+ if (route.getName().endsWith(AccessDTO.KEY_BLACK_WHITE_LIST)) {
+ AccessDTO accessDTO = new AccessDTO();
+ accessDTO.setId(route.getId());
+ accessDTO.setService(route.getService());
+ Map<String, RouteRule.MatchPair> when = RouteRule.parseRule(route.getMatchRule());
+ for (String key : when.keySet()) {
+ accessDTO.setWhitelist(when.get(key).getUnmatches());
+ accessDTO.setBlacklist(when.get(key).getMatches());
+ }
+ return accessDTO;
+ } else {
+ return null;
+ }
+ }
+
@RequestMapping(value = "/delete", method = RequestMethod.POST)
- public void deleteAccess(@RequestBody Map<String, Long> params) {
- if (params.get("id") == null) {
+ public void deleteAccess(@RequestBody BaseDTO baseDTO) {
+ if (baseDTO.getId() == null) {
throw new IllegalArgumentException("Argument of id is null!");
}
- routeService.deleteRoute(params.get("id"));
+ routeService.deleteRoute(baseDTO.getId());
}
@RequestMapping(value = "/create", method = RequestMethod.POST)
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/AccessDTO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/AccessDTO.java
index 94c06ff..c739ed1 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/AccessDTO.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/AccessDTO.java
@@ -18,23 +18,14 @@ package org.apache.dubbo.admin.dto;
import java.util.Set;
-public class AccessDTO {
+public class AccessDTO extends BaseDTO {
// BlackWhiteList key
public static final String KEY_BLACK_WHITE_LIST = "blackwhitelist";
- private Long id;
private String service;
private Set<String> whitelist;
private Set<String> blacklist;
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
public String getService() {
return service;
}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/AccessDTO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/BaseDTO.java
similarity index 57%
copy from dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/AccessDTO.java
copy to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/BaseDTO.java
index 94c06ff..a7e9e77 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/AccessDTO.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/dto/BaseDTO.java
@@ -16,16 +16,13 @@
*/
package org.apache.dubbo.admin.dto;
-import java.util.Set;
-
-public class AccessDTO {
- // BlackWhiteList key
- public static final String KEY_BLACK_WHITE_LIST = "blackwhitelist";
-
+/**
+ * BaseDTO
+ *
+ * For receive ID parameter with @RequestBody
+ */
+public class BaseDTO {
private Long id;
- private String service;
- private Set<String> whitelist;
- private Set<String> blacklist;
public Long getId() {
return id;
@@ -34,28 +31,4 @@ public class AccessDTO {
public void setId(Long id) {
this.id = id;
}
-
- public String getService() {
- return service;
- }
-
- public void setService(String service) {
- this.service = service;
- }
-
- public Set<String> getWhitelist() {
- return whitelist;
- }
-
- public void setWhitelist(Set<String> whitelist) {
- this.whitelist = whitelist;
- }
-
- public Set<String> getBlacklist() {
- return blacklist;
- }
-
- public void setBlacklist(Set<String> blacklist) {
- this.blacklist = blacklist;
- }
}
diff --git a/dubbo-admin-frontend/src/components/AccessControl.vue b/dubbo-admin-frontend/src/components/AccessControl.vue
index 500dac5..42fb311 100644
--- a/dubbo-admin-frontend/src/components/AccessControl.vue
+++ b/dubbo-admin-frontend/src/components/AccessControl.vue
@@ -212,8 +212,10 @@ export default {
search (filter) {
this.loading = true
this.$router.push({path: 'access', query: (filter !== '' ? {service: filter} : null)})
- AXIOS.post('/access/search', {
- service: filter
+ AXIOS.get('/access/search', {
+ params: {
+ service: filter
+ }
}).then(response => {
this.accesses = response.data
this.loading = false