NET CORE - 如何在API中创建主页?

时间:2018-01-18 01:17:33

标签: asp.net-core .net-core

每次启动api时,都会使用LOCALHOST:PORT/api/values/执行。如何使用静态主页LOCALHOST:PORT/

3 个答案:

答案 0 :(得分:0)

你在找这样的东西吗?

$.ajax({
   url: "/api/values/METHOD/?PARAM=0",
   type: "GET",
   dataType: "json",
   cache: false,
   statusCode: {
     200: function (data) {
        //Do stuff
     }
   }
});

在解决方案上下文中运行的任何内容都将从根目录开始。

答案 1 :(得分:0)

在您的项目中,找到您的launchSettings.json文件。在visual studio中,您需要展开“属性”以从解决方案资源管理器中查找它或使用Ctrl + T.此文件包含一系列配置文件。每个配置文件都有一个launchUrl字段,您可以在其中提及您的路径为空。

在主页中添加内容时,您始终可以按如下方式制作中间件:

class Base
{
protected:
  Base()
  {

  }

public:
  void initialize()
  {
    doInitialize();
  }

  template<typename D, typename... Ts>
  static std::shared_ptr<D> create(Ts... args)
  {
    auto d = std::shared_ptr<D>(new D(args...));
    d->initialize();
    return d;
  }

  virtual ~Base() = default;

protected:
  virtual void doInitialize() = 0;   
};

class Derived : public Base
{
private:
  int value_;

public:  
  Derived(int v) : value_(v)
  {}

private:
  void doInitialize() override
  {
    //Do something with value_
  }
};

int main()
{
    auto derived = Base::create<Derived>(42);

    return 0;
}

你总是可以有一个动作,但我建议你使用像上面这样的中间件。

答案 2 :(得分:0)

How to set start page in dotnet core web api?

可能重复

我认为您的意思是在用户导航到http://localhost而不是调用http://localhost/api/controller时设置默认页面。

在.net核心2中,它的仙女很容易做到。如果您只想通过添加

来显示简单的静态页面,则可以使用静态文件
app.UseMvc(routes =>
   {
       routes.MapRoute(
           name: "default",
           template: "{controller=Home}/{action=Index}");
   });

并确保wwwroot文件夹中有index.html。

或者您可以在mvc中使用路由

totalDistances

见aslan在https://stackoverflow.com/a/40651363/3786363

的回答

哦,除非您的服务器映射到端口80,否则您可能需要调用localhost:port而不仅仅是localhost。