首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vue3+TS+Node打造个人博客(后端架构)

在使用 Express 搭建后端服务时,主要关注的几个点是: 路由中间件和控制器 SQL处理 响应返回体数据结构 错误码 Web安全 环境变量/配置 路由和控制器 路由基本上是按模块或功能去划分的。...控制器的概念其实是从其他语言中借鉴而来的,Express 并没有明确说什么是控制器,但在我看来,路由中间件的处理模块/函数就是控制器的概念。 下面是本项目使用到的一些控制器。...但是由于我一开始采取的方案是:在BaseController给req挂载connection,并在具体的业务控制器执行完sql查询语句后再自行释放connection,这个基本使用过程我在后面一节也说到了...作为一个参数槽位,接收一些动态的值。...便是传具体的id值。 而参数传值是通过connection.query的第二个参数携带的。 注意,这个参数是一个数组,数组中的值会按照从左到右的顺序依次替换掉 SQL 字符串中的?

86620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    何时(不)使用Java抽象类

    由于他们使用MVC框架,他们在UserController 类中使用端点方法支持他们的第一个面向用户的网页 。 开发人员创建第二个网页,因此将新端点添加到控制器。...重复此过程,直到 BaseController 有十个子类和75个共享方法。 现在,有很多有用的方法可供具体类控制器使用,只需直接调用即可。所以有什么问题? 第一个问题是设计问题。...事实上,所有这些不同的控制器彼此无关。它们可能位于我们堆栈的同一层,并可能执行类似的技术角色,但就我们的应用而言,它们用于不同的目的。然而,我们现在将它们锁定在一个相当随意的对象层次结构中。...即使您没有实例化控制器,您仍然将控制器绑定到其他类。如果您需要在DAO层中使用该方法,该怎么办?您的DAO层应该对您的控制器一无所知。...当然,如上所述,实用程序类仍应是可实例化的,而不是简单地用静态方法填充。 现在,有一组实用方法可以被任何可能需要它们的类重用。此外,我们可以将这些方法分解为相关的组。

    1.2K30

    金三银四面试:ASP.NET Core面试题汇总

    可以通过全局注册,支持依赖注入 通过TypeFilter(typeof(Filter)) 标记在方法,标记在控制器 通过ServiceType(typeof(Filter))标记在方法,标记在控制器,必须要注册...一般情况下我们会新建一个BaseController, 让所有Controller继承BaseController。...有些服务可以在短时间内初始化,并且只能在某个特别的组件,以及请求中才能用到;而还有一些服务,仅仅只用初始化一次,就可以在整个应用程序中使用。...主要就是set 与 get 构造函数注入: 就是在创建A的对象的时候,通过参数将B的对象传入到A中。 还有常用的注入方式就是工厂模式的应用了,这些都可以将B的实例化放到A外面,从而让A和B没有关系。...常规路径处理就是用MapRoute的方式设定调用路径,属性路径处理是指在调用函数的上方设定一个路径属性。 18.dotnet core工程里面有哪些常见的工程文件?

    28611

    Laravel学习教程之IOC容器的介绍与用例

    换句话说,它们在你的应用程序准备处理请求,也即是在一个路由或者控制器被实际执行之前执行。和其他引导代码一样,start文件通常作为IoC绑定注册一种方法。...另外,你可以创建一个app/ioc.php(文件名不一定一样)文件,并在start文件中包含它。...实际用例 Laravel 提供了几个方法使用 IoC 容器增强应用程序可扩展性和可测试性。一个主要的例子是取得控制器。...所有控制器都通过 IoC 容器取得,意味着可以在控制器构造方法中对依赖的类型提示,它们将自动被注入。...对控制器的依赖关系做类型提示 class OrderController extends BaseController { public function __construct(OrderRepository

    80710

    ASP.NET MVC编程——控制器

    每一个请求都会经过控制器处理,控制器中的每个方法被称为控制器操作,它处理具体的请求。 1操作输入参数 控制器的操作的输入参数可以是内置类型也可以是自定义类型。...ValidateInputAttribute public class ValidateInputAttribute : FilterAttribute, IAuthorizationFilter 验证通过窗体传进来的信息...true)] public sealed class ActionNameAttribute : ActionNameSelectorAttribute 可以使用此特性改变操作的名称,使用新名称作为路由参数...视图通过两种方式可以拿到数据: 1)通过控制器操作返回的结果(控制器返回结果是数据和视图的结合。 2)将结果赋给控制器属性并在View中使用这些属性。...例: public class BaseController : Controller { protected override void OnException(ExceptionContext

    2.2K90

    requestbody requestparam pathvariable前端端实战,让你彻底了解如何传值

    @RequestParam@RequestParam注解用于从URL的查询字符串中获取值,并将其绑定到控制器方法的参数上。...@RequestParam的工作原理是通过RequestMappingHandlerAdapter中的invokeHandlerMethod方法来解析URL中的查询参数,并将其作为方法参数传递给控制器方法在...RequestMappingHandlerMapping会根据请求的URL找到匹配的模式,并使用PathVariableMethodArgumentResolver来解析URL中的变量,然后将这些变量作为参数传递给控制器方法...我们用apifox来一个一个先看他们要如何传值的。这个时候不得不提一下apifox的自动生成非常的不错,调试起来很方便。...axios.get(url, { params: { key: value } })@RequestParam("key")发送GET请求,从指定的URL获取数据,并在URL中添加查询参数,后端通过@RequestParam

    34610

    ASP.NET MVC学习笔记04数据传递

    上一篇的末尾讲到了,在了解模型之前,先来看看ASP.NET MVC是如何将数据从控制器传递给视图的。...视图模板可以被控制器 用来产生格式化过的HTML从而返回给浏览器. 控制器负责给任何数据或者对象提供一个必需的视图模板,用这个视图模板来Render返回给浏览器的HTML。...如何实现呢,可以吧视图模板需要的动态数据(参数)在控制器中存放到一个ViewBag对象中,然后视图模板来访问这个对象,看下具体操作。 ?...模型绑定(model binder) 使得数据从URL传递给控制器。控制器将数据装入到ViewBag对象中,通过该对象传递给视图。然后视图为用户生成显示所需的HTML。...在上面的示例中,使用了 ViewBag对象把数据从控制器传递给了视图。在后面的文章中,将使用视图模型来将数据从一个控制器传递到视图中。用视图模型来传递数据,这一般是首选的办法。

    2.4K60

    达观数据对AngularJS技术的思考与实践

    需要注意的一点是,一个控制器不应该做太多工作。它应该只包含单个视图的业务逻辑,保持控制器职责单一的最常见做法是将那些不属于控制器的工作抽离到服务中,然后通过依赖注入在控制器中使用这些服务。...这个工厂函数必须放回一个新的过滤器函数,这个过滤函数的第一个参数接受的是输入。任何过滤器参数都会被当成附加的参数传递给过滤器。 ? 可以通过 | reverse 的方式使用reverse过滤器。...你把 service 传进 controller 之后,在 controller 里这个对象里的属性就可以通过 factory 使用了。 ? 2)Service是用"new"关键字实例化的。...一般获取依赖有三种方式,用new操作符创建依赖,通过全局变量查找,依赖需要时被导入。前两种方式都不是很好,因为它们需要对依赖硬编码,使得修改依赖的时候变得困难。...一般用在控制器和工场方法中。 控制器中的依赖注入: ? 工厂方法:工场方法负责创建AngularJS中的大部分对象。比如指令,服务,过滤器。工厂方法一般在模块中使用。 ?

    5.4K150

    Python全网最全基础课程笔记(十二)——函数,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!

    函数的传参 在Python中,函数的参数传递是一个核心概念,它涉及到如何将数据从函数的调用者(或称为“外部”)传递到函数内部。这个过程涉及到两个关键概念:形参(形式参数)和实参(实际参数)。...5 被传递给形参 a,3 被传递给形参 b,然后函数计算它们的和并返回结果。...默认参数:如果函数定义中包含了默认参数,那么在调用函数时,你可以省略这些参数的实参(如果它们使用了默认值)。然而,如果你想要覆盖默认值,你可以通过关键字传参来指定新的值。...为了避免这个问题,你可以使用 None 作为可变类型参数的默认值,并在函数体内部进行检查,根据需要创建一个新的对象。...语法 当你定义一个函数并希望它能够接受任意数量的关键字参数时,你可以在函数定义中使用**kwargs。

    11710

    【ASP.NET Core 基础知识】--路由和请求处理--路由概念(二)

    1.2 路由值参数 路由值参数是通过路由模板定义的占位符来捕获和传递的参数。在ASP.NET Core中,路由值参数通常由花括号 {} 包围,它们从URL中提取相应的值。...以下是路由值参数的使用方式: public class MyController : Controller { // 路由模板包含{id},它将作为路由值参数传递给动作方法 [HttpGet...} // 示例URL:/Products/123 } 在上述例子中,{id}是一个路由值参数,它会从URL中匹配的位置提取相应的值传递给GetProductById方法的id参数。...在ASP.NET Core中,可以通过在路由配置中使用name参数为路由指定名称。...此配置允许通过URL指定语言/地区,例如/en-US/Home/Index,并在控制器和视图中使用本地化资源。

    15100

    Laravel 5.0 之 Middleware (Filter-Style)

    . ---- 如果你有阅读我之前的 Laravel 5.0 系列文章,你可能已经注意到路由过滤器(route filters)的变化:它们先是移到了单独的目录和类结构,然后就莫名其妙地消失了。...Laravel 默认使用 middleware 来处理加密/解密和 cookies 队列、读取和写入 sessions, 但除此之外你还可以用 middleware 来向请求/响应环中加入你需要的任何一种操作层...function handle($request, Closure $next) { // } } 如你所见,所有 middleware 的基础是 handle 方法,它接受两个参数...: $request: Illuminate Request 对象 $next: Closure(匿名函数), 该函数把 request 对象传递给后续的 middleware....(BaseController)中用 $this->middleware() 方法来调用自定义的 middleware 了。

    2.1K40

    ASP.NET MVC 5 - 将数据从控制器传递给视图

    在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图。控制器类将响应请求来的URL。...控制器负责给任何数据或者对象提供一个必需的视图模板,用这个视图模板来Render返回给浏览器的HTML。最佳做法是:一个视图模板应该永远不会执行业务逻辑或者直接和数据库进行交互。...您可以把视图模板需要的动态数据 (参数)在控制器中放入到一个ViewBag对象中,然后视图模板可以访问这个对象。...name=Scott&numtimes=4 现在,模型绑定(model binder) 使得数据从URL传递给控制器。控制器将数据装入到ViewBag对象中,通过该对象传递给视图。...在上面的示例中,我们使用了ViewBag对象把数据从控制器传递给了视图。在本系列教程后面的文章中,我们将使用视图模型来将数据从一个控制器传递到视图中。用视图模型来传递数据,这一般是首选的办法。

    5K100

    视图

    /Weibo/Home/View/User/index.html 通过这个错误提示,我们只要在 View 目录下创建 User 目录,并在 User 目录下创建index.html 文件,这时模版渲染模版输出成功...html,如果你想改变成别的后缀可以设置: //修改模版中的文件的后缀 'TMPL_TEMPLATE_SUFFIX'=>'.tpl' 如果感觉每一个模块,都要创建相应的目录太过于麻烦,可以设置: //用下划线代替目录层次...设置默认主题目录 'DEFAULT_THEME'=>'default', //切换主题 $this->theme('blue')->display(); 二.赋值和渲染 如果要在模版中输出变量,必须在控制器中把变量传递给模版...渲染模版输出使用的是 display 方法,有三个可选参数: display([模版文件][,字符编码][,输出类型]); 如果不传递任何参数,它会按照默认的目录定位模版的位置: 当前模块/默认视图目录.../当前控制器/当前操作.html //不传参数 $this->display(); .

    87130
    领券