Fix bug #74 (#75)

Co-authored-by: Tboy <technoboy@apache.org>
Co-authored-by: jackycchen <chenjing@xsyxsc.com>
diff --git a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/EventTraceHistoryController.java b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/EventTraceHistoryController.java
index d40c200..26278a4 100644
--- a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/EventTraceHistoryController.java
+++ b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/EventTraceHistoryController.java
@@ -71,7 +71,7 @@
      * @param jobNamePrefix job name prefix
      * @return matched job names
      */
-    @GetMapping(value = {"/execution/jobNames", "/execution/jobNames/{jobNamePrefix}"})
+    @GetMapping(value = {"/execution/jobNames", "/execution/jobNames/{jobNamePrefix:.+}"})
     public ResponseResult<List<String>> findJobNamesByPrefix(@PathVariable(required = false) final String jobNamePrefix) {
         return ResponseResultUtil.build(eventTraceHistoryService.findJobNamesInExecutionLog(Optional.ofNullable(jobNamePrefix).orElse("")));
     }
@@ -81,7 +81,7 @@
      * @param ipPrefix ip prefix
      * @return matched ip addresses
      */
-    @GetMapping(value = {"/execution/ip", "/execution/ip/{ipPrefix}"})
+    @GetMapping(value = {"/execution/ip", "/execution/ip/{ipPrefix:.+}"})
     public ResponseResult<List<String>> findIpByPrefix(@PathVariable(required = false) final String ipPrefix) {
         return ResponseResultUtil.build(eventTraceHistoryService.findIpInExecutionLog(Optional.ofNullable(ipPrefix).orElse("")));
     }
@@ -104,7 +104,7 @@
      * @param jobNamePrefix job name prefix
      * @return matched job names
      */
-    @GetMapping(value = {"/status/jobNames", "/status/jobNames/{jobNamePrefix}"})
+    @GetMapping(value = {"/status/jobNames", "/status/jobNames/{jobNamePrefix:.+}"})
     public ResponseResult<List<String>> findJobNamesByPrefixInStatusTraceLog(@PathVariable(required = false) final String jobNamePrefix) {
         return ResponseResultUtil.build(eventTraceHistoryService.findJobNamesInStatusTraceLog(Optional.ofNullable(jobNamePrefix).orElse("")));
     }
diff --git a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/JobConfigController.java b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/JobConfigController.java
index e3fce5d..5f28f52 100644
--- a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/JobConfigController.java
+++ b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/JobConfigController.java
@@ -50,7 +50,7 @@
      * @param jobName job name
      * @return job configuration
      */
-    @GetMapping(value = "/{jobName}")
+    @GetMapping(value = "/{jobName:.+}")
     public ResponseResult<JobConfigurationPOJO> getJobConfig(@PathVariable("jobName") final String jobName) {
         JobConfigurationPOJO data = jobAPIService.getJobConfigurationAPI().getJobConfiguration(jobName);
         return ResponseResultUtil.build(data);
@@ -72,7 +72,7 @@
      *
      * @param jobName job name
      */
-    @DeleteMapping("/{jobName}")
+    @DeleteMapping("/{jobName:.+}")
     public ResponseResult<Boolean> removeJob(@PathVariable("jobName") final String jobName) {
         jobAPIService.getJobConfigurationAPI().removeJobConfiguration(jobName);
         return ResponseResultUtil.build(Boolean.TRUE);
diff --git a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/ServerOperationController.java b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/ServerOperationController.java
index 1f2c33a..bad4727 100644
--- a/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/ServerOperationController.java
+++ b/shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/ServerOperationController.java
@@ -109,7 +109,7 @@
      *
      * @param serverIp server IP address
      */
-    @DeleteMapping("/{serverIp}")
+    @DeleteMapping("/{serverIp:.+}")
     public ResponseResult<Boolean> removeServer(@PathVariable("serverIp") final String serverIp) {
         jobAPIService.getJobOperatorAPI().remove(null, serverIp);
         return ResponseResultUtil.build(Boolean.TRUE);
@@ -169,7 +169,7 @@
      * @param serverIp server IP address
      * @param jobName job name
      */
-    @DeleteMapping("/{serverIp}/jobs/{jobName}")
+    @DeleteMapping("/{serverIp}/jobs/{jobName:.+}")
     public ResponseResult<Boolean> removeServerJob(@PathVariable("serverIp") final String serverIp, @PathVariable("jobName") final String jobName) {
         jobAPIService.getJobOperatorAPI().remove(jobName, serverIp);
         return ResponseResultUtil.build(Boolean.TRUE);