首页 > 其他分享 >HarmonyOS实现登录页面(三)相关api的实现User类和ApiController类(IDEA)

HarmonyOS实现登录页面(三)相关api的实现User类和ApiController类(IDEA)

时间:2022-12-13 06:33:05浏览次数:84  
标签:... String Map IDEA private HarmonyOS import login ApiController

User类

@Data 使用 @Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()set()toString()等方法;

@AllArgsConstructor使用 用这个注解修饰的类会把里面的变量都生成全参数的构造器;

package com.example.apiproject.model;

import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor
public class User {
    private  Integer id;

    private String username;

    private String password;

    private String nickname;

    private String stuNumber;

    private String signature;

    private String phone;

    private String email;

    private String wechat;

    private String qqNumber;

    private String dingNumber;
    
}

ApiController类

@RestController使用在Spring中@RestController的作用等同于@Controller + @ResponseBody;
1.@Controller在一个类上添加@Controller注解,表明了这个类是一个控制器类。但想要让这个类成为一个处理请求的处理器光有@Controller注解是不够的,他还需要进一步修炼才能成为一个处理器;
2.将@Controller注解的类注入Spring容器中,只是该类成为处理器的第一步,想要修炼大成,还需要在该类中添加注解@RequestMapping。@RequestMapping注解是用来映射请求的,即指明处理器可以处理哪些URL请求,该注解既可以用在类上,也可以用在方法上。
3.@ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径;

@RequestMapping的使用来映射URL;

@PostMapping的使用映射一个POST请求;

@RequestBody的使用主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交;

Map<String, Object>详解--Map:即 Interface Map<K,V> K - key的类型 V - value的类型;
也就是说Map是一个接口,它的每个元素包含一个key对象和一个value对象(这两个对象的类型可以不一样)且在这两个对象之间存在一种映射的对应关系,所以从Map集合中访问元素时,只要指定了key就可以找到对应的value,因此key必须是唯一的不能重复,当key相同时,后面的value值会覆盖之前的value值;

package com.example.apiproject.controller;

import com.example.apiproject.model.User;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 *  1.声明 ApiController 用于接收网络
 *  2.声明 ApiController 中所有的方法的返回值结果,终以json格式的String返回给客户端
 *
 *  JSON 格式:
 *  1.数组:["1", "2", 3, 3.14, true]
 *  2.对象:{"username" : "zz", "password" : "123456", ...}
 *  3.复杂类型1:["1", 3.14, {"username" : "zz", "password" : "123456", ...}, [1, 2, 3, 4, ...], ...]
 *  4.复杂类型2:{"messege" : "login success", code : 2000, {"username" : "zz", "password" : "123456", ...}, ...}
 *  5.复杂类型3:{"messege" : "login success", code : 2000, data : [{"name" : "aa", "img" : "a.jpg", ...}, {"name" : "bb", "img" : "b.jpg", ...}]}
 */
@RestController
@RequestMapping("/api")
public class ApiController {

    //http://localhost:8080/api/login
    @PostMapping("/login")
    public Map<String, Object> login(@RequestBody User user){//@RequestMapping+@PostMapping决定该方法在哪里被访问到

        System.out.println("get params is: username > " + user.getUsername() + " password > " + user.getPassword());
        System.out.println("start to query db, login success ...");

        //开始构造返回结果,格式:{"messege" : "login success", code : 2000, {"username" : "zz", "password" : "123456", ...}, ...}
        Map<String, Object> result = new HashMap<>();
        result.put("operate", true);
        result.put("message", "login success");
        result.put("data", new User(1,user.getUsername(),user.getPassword(),"神里凌华","zz-2002-001",
               "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","123345653434","[email protected]","zzhasid","2354754345","未绑定"));

        return result;
    }

}

标签:...,String,Map,IDEA,private,HarmonyOS,import,login,ApiController
From: https://www.cnblogs.com/chuixulvcao/p/16975150.html

相关文章

  • IDEA上运行Flink任务
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demosIDEA是常用的IDE,我们编写的flink任务代码如果能直接在IDEA运行,......
  • 【ArkUI】对于Flex布局与基础组件&&声明式UI-组件封装&&父子组件相互绑定的运用【Open
    一.Flex布局与基础组件Flex是FlexibleBox的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。1.先规定弹性布局的大小,设置为百......
  • 2020 IDEA插件无法安装问题
    问题描述Plugins的Marketplace无法显示插件,搜索插件一直转圈圈、等待搜索中,显示HTTPProxySettings…方法一:1.打开Settings按图找到Updates,取消勾选Automatically2.......
  • IDEA 常用快捷键
    通用型说明快捷键复制代码-copyctrl+c粘贴-pastectrl+v剪切-cutctrl+x撤销-undoctrl+z反撤销-redoctrl+shift+z保存-saveallctrl+s全......
  • Azkaban在IDEA下debug环境搭建笔记
    1. 主要目的在Windows下,使用IDEA开发工具,打开azkaban源代码的操作步骤的说明。用于测试、开发环境搭建、源代码查看、二次开发。在整个过程中,对相关的gradle构建工具、IDEA......
  • 如何在Idea中使用Tomcat
    在Idea中使用Tomcat有两种方式:集成本地的Tomcat,即可在idea中启动Tomcat,不需要打包好再放到tomcat中的webapps目录中(1)点击AddConfiguration...(2)在弹窗中点击左上角......
  • idea远程调试线上jar包
    有时候本地代码没问题但在线上运行会报错,这时候可以使用idea的remote功能调试线上jar包步骤1:点击设置  步骤2:新建remote  步骤3:配置服务器ip和端口并复制生成......
  • HarmonyOS实战一【JS基础组件】switch、chart等的使用
    写在前面嗯,有这样一个活动,所以搞了一个小Demo,顺便学习一个js的鸿蒙的开发方式,感兴趣的小伙伴积极参与,活动地址:HarmonyOS线上Codelabs系列挑战赛博文主要是一些前端组件使......
  • HarmonyOS实战—Hello World
    写在前面昨天看了会那个CSDN上的HarmonyOS发布会,感慨挺多,第一个国产终端分布式操作系统,感觉是有时代意义的存在,感觉作为一个开发人员来说,要做出有意义的东西才行。所以耐......
  • IDEA集成Git
    1.新建项目,绑定git随便新建一个项目,将刚才在Git拉下来的项目文件,全部copy到创建的项目文件中   刷新IDEA:2.修改文件,使用IDEA操作Git   add之后变成绿色,然......