Skip to content

Commit f3f4d41

Browse files
authored
Merge pull request #193 from dotnetcore/dev
Refactor Config API
2 parents 4032abe + 755229f commit f3f4d41

File tree

9 files changed

+152
-173
lines changed

9 files changed

+152
-173
lines changed

src/AgileConfig.Server.Apisite/Controllers/AppController.cs

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ public async Task<IActionResult> All()
333333
[HttpGet]
334334
public async Task<IActionResult> Get(string id)
335335
{
336-
ArgumentNullException.ThrowIfNullOrEmpty(id);
336+
ArgumentException.ThrowIfNullOrEmpty(id);
337337

338338
var app = await _appService.GetAsync(id);
339339
var vm = app.ToAppVM();
@@ -342,12 +342,19 @@ public async Task<IActionResult> Get(string id)
342342
{
343343
vm.inheritancedApps = (await _appService.GetInheritancedAppsAsync(id)).Select(x => x.Id).ToList();
344344
}
345+
else
346+
{
347+
return NotFound(new
348+
{
349+
success = false,
350+
message = "未找到对应的应用程序。"
351+
});
352+
}
345353

346354
return Json(new
347355
{
348-
success = app != null,
349-
data = vm,
350-
message = app == null ? "未找到对应的应用程序。" : ""
356+
success = true,
357+
data = vm
351358
});
352359
}
353360

@@ -360,12 +367,12 @@ public async Task<IActionResult> Get(string id)
360367
[HttpPost]
361368
public async Task<IActionResult> DisableOrEanble(string id)
362369
{
363-
ArgumentNullException.ThrowIfNullOrEmpty(id);
370+
ArgumentException.ThrowIfNullOrEmpty(id);
364371

365372
var app = await _appService.GetAsync(id);
366373
if (app == null)
367374
{
368-
return Json(new
375+
return NotFound(new
369376
{
370377
success = false,
371378
message = "未找到对应的应用程序。"
@@ -392,12 +399,12 @@ public async Task<IActionResult> DisableOrEanble(string id)
392399
[HttpPost]
393400
public async Task<IActionResult> Delete(string id)
394401
{
395-
ArgumentNullException.ThrowIfNullOrEmpty(id);
402+
ArgumentException.ThrowIfNullOrEmpty(id);
396403

397404
var app = await _appService.GetAsync(id);
398405
if (app == null)
399406
{
400-
return Json(new
407+
return NotFound(new
401408
{
402409
success = false,
403410
message = "未找到对应的应用程序。"
@@ -472,7 +479,7 @@ public async Task<IActionResult> SaveAppAuth([FromBody] AppAuthVM model)
472479
[HttpGet]
473480
public async Task<IActionResult> GetUserAppAuth(string appId)
474481
{
475-
ArgumentNullException.ThrowIfNullOrEmpty(appId);
482+
ArgumentException.ThrowIfNullOrEmpty(appId);
476483

477484
var result = new AppAuthVM
478485
{

src/AgileConfig.Server.Apisite/Controllers/api/AppController.cs

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using System.Linq;
99
using System.Threading.Tasks;
1010
using AgileConfig.Server.Apisite.Models.Mapping;
11+
using Microsoft.AspNetCore.Mvc.Infrastructure;
1112

1213
namespace AgileConfig.Server.Apisite.Controllers.api
1314
{
@@ -57,19 +58,22 @@ public async Task<ActionResult<IEnumerable<ApiAppVM>>> GetAll()
5758
[HttpGet("{id}")]
5859
public async Task<ActionResult<ApiAppVM>> GetById(string id)
5960
{
60-
var result = (await _appController.Get(id)) as JsonResult;
61-
dynamic obj = result.Value;
61+
var actionResult = await _appController.Get(id);
62+
var status = actionResult as IStatusCodeActionResult;
6263

63-
if (obj.success)
64+
var result = actionResult as JsonResult;
65+
dynamic obj = result?.Value;
66+
67+
if (obj?.success ?? false)
6468
{
6569
AppVM appVM = obj.data;
6670
return Json(appVM.ToApiAppVM());
6771
}
6872

69-
Response.StatusCode = 400;
73+
Response.StatusCode = status.StatusCode.Value;
7074
return Json(new
7175
{
72-
obj.message
76+
obj?.message
7377
});
7478
}
7579

@@ -98,17 +102,17 @@ public async Task<IActionResult> Add([FromBody] ApiAppVM model)
98102

99103
var result = (await _appController.Add(model.ToAppVM())) as JsonResult;
100104

101-
dynamic obj = result.Value;
105+
dynamic obj = result?.Value;
102106

103-
if (obj.success == true)
107+
if (obj?.success == true)
104108
{
105109
return Created("/api/app/" + obj.data.Id, "");
106110
}
107111

108112
Response.StatusCode = 400;
109113
return Json(new
110114
{
111-
obj.message
115+
obj?.message
112116
});
113117
}
114118

@@ -137,18 +141,20 @@ public async Task<IActionResult> Edit(string id, [FromBody] ApiAppVM model)
137141
_appController.ControllerContext.HttpContext = HttpContext;
138142

139143
model.Id = id;
140-
var result = (await _appController.Edit(model.ToAppVM())) as JsonResult;
144+
var actionResult = await _appController.Edit(model.ToAppVM());
145+
var status = actionResult as IStatusCodeActionResult;
146+
var result = actionResult as JsonResult;
141147

142-
dynamic obj = result.Value;
143-
if (obj.success == true)
148+
dynamic obj = result?.Value;
149+
if (obj?.success ?? false)
144150
{
145151
return Ok();
146152
}
147153

148-
Response.StatusCode = 400;
154+
Response.StatusCode = status.StatusCode.Value;
149155
return Json(new
150156
{
151-
obj.message
157+
obj?.message
152158
});
153159
}
154160

@@ -164,18 +170,20 @@ public async Task<IActionResult> Delete(string id)
164170
{
165171
_appController.ControllerContext.HttpContext = HttpContext;
166172

167-
var result = (await _appController.Delete(id)) as JsonResult;
173+
var actionResult = await _appController.Delete(id);
174+
var status = actionResult as IStatusCodeActionResult;
175+
var result = actionResult as JsonResult;
168176

169-
dynamic obj = result.Value;
170-
if (obj.success == true)
177+
dynamic obj = result?.Value;
178+
if (obj?.success ?? false)
171179
{
172180
return NoContent();
173181
}
174182

175-
Response.StatusCode = 400;
183+
Response.StatusCode = status.StatusCode.Value;
176184
return Json(new
177185
{
178-
obj.message
186+
obj?.message
179187
});
180188
}
181189

@@ -192,21 +200,23 @@ public async Task<IActionResult> Publish(string appId, EnvString env)
192200
{
193201
_configController.ControllerContext.HttpContext = HttpContext;
194202

195-
var result = (await _configController.Publish(new PublishLogVM()
203+
var actionResult = await _configController.Publish(new PublishLogVM()
196204
{
197205
AppId = appId
198-
}, env)) as JsonResult;
206+
}, env);
207+
var status = actionResult as IStatusCodeActionResult;
208+
var result = actionResult as JsonResult;
199209

200-
dynamic obj = result.Value;
201-
if (obj.success == true)
210+
dynamic obj = result?.Value;
211+
if (obj?.success ?? false)
202212
{
203213
return Ok();
204214
}
205215

206-
Response.StatusCode = 400;
216+
Response.StatusCode = status.StatusCode.Value;
207217
return Json(new
208218
{
209-
obj.message
219+
obj?.message
210220
});
211221
}
212222

@@ -244,18 +254,20 @@ public async Task<IActionResult> Rollback(string historyId, EnvString env)
244254
{
245255
_configController.ControllerContext.HttpContext = HttpContext;
246256

247-
var result = (await _configController.Rollback(historyId, env)) as JsonResult;
257+
var actionResult = await _configController.Rollback(historyId, env);
258+
var status = actionResult as IStatusCodeActionResult;
259+
var result = actionResult as JsonResult;
248260

249-
dynamic obj = result.Value;
250-
if (obj.success == true)
261+
dynamic obj = result?.Value;
262+
if (obj?.success ?? false)
251263
{
252264
return Ok();
253265
}
254266

255-
Response.StatusCode = 400;
267+
Response.StatusCode = status.StatusCode.Value;
256268
return Json(new
257269
{
258-
obj.message
270+
obj?.message
259271
});
260272
}
261273

0 commit comments

Comments
 (0)