Aspnetcore: Asp.net ํ•ต์‹ฌ ์›น API ํ”„๋กœ์ ํŠธ์—์„œ ์˜์—ญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2019๋…„ 01์›” 19์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dotnet/aspnetcore

์ €๋Š” Asp.net ํ•ต์‹ฌ ์›น API ํ”„๋กœ์ ํŠธ์ธ ํ”„๋กœ์ ํŠธ์—์„œ ์ž‘์—… ์ค‘์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ์ ํŠธ๋Š” Asp.net MVC ๋ฐ Core MVC์—์„œ ์ˆ˜ํ–‰ํ–ˆ์ง€๋งŒ Core Web API๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Core MVC์—๋Š” Admin ๋ถ€๋ถ„ ๋“ฑ์„ ์œ„ํ•œ Areas๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Areas ๊ฐœ๋…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Asp.net Core Web API ํ”„๋กœ์ ํŠธ์—์„œ Areas๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์ƒ๊ฐ๋‚˜์‹œ๋ฉด ๋ง์”€ํ•ด์ฃผ์„ธ์š”.

area-mvc

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

API ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์˜์—ญ์— ๋ฐฐ์น˜ํ•˜์—ฌ ๊ทธ๋ฃนํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์— ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[Route("api/myarea/v1/[controller]")]

๋ชจ๋“  3 ๋Œ“๊ธ€

API ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์˜์—ญ์— ๋ฐฐ์น˜ํ•˜์—ฌ ๊ทธ๋ฃนํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์— ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[Route("api/myarea/v1/[controller]")]

๋‚ด ApiController๋ฅผ ๋‚ด ์˜์—ญ ์•„๋ž˜์— ๋„ฃ์–ด ๊ตฌ์กฐ๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ณด์ด๋„๋ก ์‹œ๋„ํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๋ถ€์˜ API ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์˜์—ญ/GL/์ปจํŠธ๋กค๋Ÿฌ

[Area("GL")] [Route("api/[controller]")] [ApiController] [HttpGet] public IActionResult Get() { return Ok("api controller"); }

ํ•˜์ง€๋งŒ ๋‚ด URL์— ์•ก์„ธ์Šคํ•  ๋•Œ
http://localhost :48357/GL/Api/Get
๋˜๋Š”
http://localhost :48357/Api/GL/Get
๋˜๋Š”
http://localhost :48357/Api/Get
๋‚˜๋Š” ์–ป๋‹ค

์ƒํƒœ ์ฝ”๋“œ: 404; ์ฐพ์„ ์ˆ˜ ์—†์Œ

๋‹ค์Œ์€ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

Startup.cs

routes.MapAreaRoute( name: "AreaGL", areaName: "GL", template: "GL/{controller=Home}/{action=Index}/{id?}" );

์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ €๋ฅผ ๋„์™€์ฃผ์„ธ์š”. ์—ฌ๊ธฐ์„œ ์ œ๊ฐ€ ๋ญ˜ ์ž˜๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฌธ์˜ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. @farhadibehnam.
์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์˜์—ญ์— ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/areas? ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ํŠน์„ฑ ๊ฒฝ๋กœ์— {area:exists} ๊ฒฝ๋กœ ์ œ์•ฝ ์กฐ๊ฑด์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ธฐ=aspnetcore-2.2.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰