I have built an ASP.NET Web API project that feeds data from a SQL server database to a an existing website. There will other websites that will start consuming this Web API in the near future. When the Web API was built, the requirement was to just provide a number of GET operations; no updates/edits were required. Now, the client wants an admin tool/interface where they can manipulate the data (make some edits and apply some tagging) before the data is served up to the websites.
The question I have is that should I build a new ASP.NET MVC 4 site (new solution) that allows the client to manipulate the data? My thoughts were that if I go with this approach, I would expand the existing Web API project and implement some put operations as well as add support to return data based on some filters. I would then consume the Web API from the new ASP.NET MVC 4 application. The downside with this approach is that I will now have duplicated code, particularly, I will have to create my model classes in the MVC 4 web app and keep it consistent with the Web API project. Is this a correct assumption?
Or should I just build the interface in the Web API project? What are the pros and cons of doing that? Any insight would be appreciated.