Hi, I need to add custom WebApi to manage Output Cache and etc ... How can I do this ? adding to current webapi project or add new webapi project to abp solution ?
7 Answer(s)
-
0
Hi,
You can add custom WebAPI controllers to current WebApi project. Purpose of this project is that.
-
0
Hi Hikalkan, Thanks for your reply, but still i'm confused which interface or class should be inherit because it is just a class library , could you send me or show me a sample code ? and could I host a Web Api project on separate server?
-
0
Hi,
Startup template configured to run all web APIs in .WebApi project including custom ones. You can inherit from AbpApiController. But it will work if you even derive from standard ApiController. Just create a simple api controller and try it. If can want to host in a seperate server, then you should configure it to work in IIS or a Windows Service. These are not special to ABP, just regular Web API stuff. I believe you can find many resources if you search web. After implementing it, if you have a problem, you can always write here.
-
0
Hi,
I've added custom api controller with one method(inherited from abpapicontroller). Please, how can I call this method via HTTP? Do I need to register that controller or route? When I try to call this method using app/{apicontroller}/{method} I'm getting following error (route included):
- message: No HTTP resource was found that matches the request URI 'http://localhost:6234/api/photos/upload'.
- messageDetail: No type was found that matches the controller named 'photos'.
Thank you in advance
Regards Peter
-
0
If your ApiController normally works, it should also work for ABP since there is no special thing for regular web api controllers. I create one in .WebApi project:
public class ProductController : AbpApiController { [HttpGet] public virtual IEnumerable<Product> GetProducts() { return new List<Product> { new Product {Name = "Monitor"}, new Product {Name = "CPU"} }; } public class Product { public string Name { get; set; } } }
And entered URL: <a class="postlink" href="http://localhost:6234/api/Product">http://localhost:6234/api/Product</a>
This is the result, as expected:
[{"name":"Monitor"},{"name":"CPU"}]
I could not see any problem.
-
0
I am also have the same issue. Swagger shows all the dynamic api but not showing the API from controller inside webapi project
-
0
Hi,
Did you fix it ? If not, can you share your controller definition ?
Thanks.