Thinkphp个人发卡网源码(内置自动下载搭建部署教程)

Thinkphp个人发卡网源码(内置自动下载搭建部署教程)

开源个人发卡网源码系统框架是一个同步REST,它使用简单的模板式 API执行HTTP请求。我们还可以说RestTemplate类,旨在调用REST服务。 RestTemplateBuilder是一个可用于配置和创建发卡系统的构建器。RestTemplateBuilder提供了方便的方法来注册转换器、错误处理程序和 UriTemplateHandler。让我们通过一个例子来理解这个概念。 源码:paywks.top/ka 如果你想在发卡网源码中使用RestTemplate,那么首先我们必须在配置类文件中创建一个RestTemplate类的Bean,如下所示: public class EmployeeConfig {    // Other Beans    @Bean    public RestTemplate restTemplateBean() {         return new RestTemplate();     }    // Other Beans } 然后我们可以在@Autowired注释的帮助下在我们的服务类中使用它,如下所示:

public class EmployeeService {      // Other Lines of Code    @Autowired    private RestTemplate restTemplate;      // Other Lines of Code    AddressResponse addressResponse = restTemplate.getForObject("http://localhost:8081/address-service/address/{id}", AddressResponse.class, id);    employeeResponse.setAddressResponse(addressResponse);      // ------------------}

现在让我们在 RestTemplateBuilder 的帮助下创建一个 RestTemplate 实例。 如何在 Spring Boot 应用程序中使用 RestTemplateBuilder? 如果您使用 RestTemplateBuilder,则无需在配置文件中创建单独的 RestTemplate bean。我们只能在服务类构造函数的帮助下在服务类内部完成此操作;像这样的东西。

@Servicepublic class EmployeeService {      // Other Lines of Code    private final RestTemplate restTemplate;    // Using RestTemplateBuilder    public EmployeeService(RestTemplateBuilder builder) {        this.restTemplate = builder.build();    }    public EmployeeResponse getEmployeeById(int id) {          // Other Lines of Code          // ------------------        // Using restTemplate Instance        AddressResponse addressResponse = restTemplate.getForObject("http://localhost:8081/address-service/address/{id}", AddressResponse.class, id);        employeeResponse.setAddressResponse(addressResponse);        return employeeResponse;    }}

如果您想在 RestTemplateBuilder 的帮助下构建一个完整的工作 Spring Boot 项目,那么您可以按照下面的示例进行操作。 步骤1:在Spring Initializr中创建一个新的Spring Boot项目 要创建新的 Spring Boot 项目,请参阅如何在 Spring Initializr 中创建 Spring Boot 项目并在 IntelliJ IDEA 中运行它。 步骤 2:在 MySQL Workbench 中创建架构并放入一些示例数据 转到MySQL Workbench并创建一个名为gfgmicroservicesdemo的架构,并在其中创建一个名为employee 的表并放置一些示例数据,如下图所示。这里我们创建了 4 列并放置了一些示例数据。 现在我们将从 Spring Boot 项目中的 Employee 表中获取员工数据。为此,请参阅以下步骤。在转向 IntelliJ IDEA 之前,让我们先看一下微服务的完整项目结构。 步骤 3:更改 application.properties 文件 现在在您的application.properties文件中进行以下更改。

spring.datasource.url=jdbc:mysql://localhost:3306/gfgmicroservicesdemospring.datasource.username=put your username herespring.datasource.password=put your password herespring.application.name=employee-serviceserver.port=8080# Set Your Context Path Hereserver.servlet.context-path=/employee-serviceaddressservice.base.url=http://localhost:8081/address-service

  第 4 步:创建您的实体/模型类 转到 src > main > java > 实体并创建一个 Employee 类并放入以下代码。这是我们的模型类。

package com.gfg.employeaap.entity;import jakarta.persistence.*;@Entity@Table(name = "employee")public class Employee {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    @Column(name = "id")    private int id;    @Column(name = "name")    private String name;    @Column(name = "email")    private String email;    @Column(name = "age")    private String age;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public String getAge() {        return age;    }    public void setAge(String age) {        this.age = age;    }}

第 5 步:创建您的存储库接口 转到 src > main > java >repository 并创建一个接口 EmployeeRepo 并输入以下代码。这是我们的存储库,我们在其中为所有与数据库相关的内容编写代码。

package com.gfg.employeaap.repository;import com.gfg.employeaap.entity.Employee;import org.springframework.data.jpa.repository.JpaRepository;@Repositorypublic interface EmployeeRepo extends JpaRepository {}

第 6 步:创建 AddressResponse 和 EmployeeResponse 类 转到 src > main > java > response 并创建一个类 AddressResponse 并放入以下代码。

package com.gfg.employeaap.response;public class AddressResponse {    private int id;    private String city;    private String state;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getCity() {        return city;    }    public void setCity(String city) {        this.city = city;    }    public String getState() {        return state;    }    public void setState(String state) {        this.state = state;    }}

转到 src > main > java > response 并创建一个 EmployeeResponse 类并放入以下代码。 package com.gfg.employeaap.response;

public class EmployeeResponse {    private int id;    private String name;    private String email;    private String age;    private AddressResponse addressResponse;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public String getAge() {        return age;    }    public void setAge(String age) {        this.age = age;    }    public AddressResponse getAddressResponse() {        return addressResponse;    }    public void setAddressResponse(AddressResponse addressResponse) {        this.addressResponse = addressResponse;    }}

  第 7 步:创建您的服务类别 转到 src > main > java > service 并创建一个 EmployeeService 类并放入以下代码。这是我们编写业务逻辑的服务类。这里我们使用 RestTemplateBuilder 概念。

package com.gfg.employeaap.service;import com.gfg.employeaap.entity.Employee;import com.gfg.employeaap.repository.EmployeeRepo;import com.gfg.employeaap.response.AddressResponse;import com.gfg.employeaap.response.EmployeeResponse;import org.modelmapper.ModelMapper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.client.RestTemplateBuilder;import org.springframework.stereotype.Service;import org.springframework.web.client.RestTemplate;import java.util.Optional;@Servicepublic class EmployeeService {    @Autowired    private EmployeeRepo employeeRepo;    @Autowired    private ModelMapper mapper;    private final RestTemplate restTemplate;    // Using RestTemplateBuilder    public EmployeeService(@Value("${addressservice.base.url}") String addressBaseUrl, RestTemplateBuilder builder) {        this.restTemplate = builder.rootUri(addressBaseUrl).build();    }    public EmployeeResponse getEmployeeById(int id) {        Optional employee = employeeRepo.findById(id);        EmployeeResponse employeeResponse = mapper.map(employee, EmployeeResponse.class);        AddressResponse addressResponse = restTemplate.getForObject("/address/{id}", AddressResponse.class, id);        employeeResponse.setAddressResponse(addressResponse);        return employeeResponse;    }}

第 8 步:创建员工控制器 转到 src > main > java > controller 并创建一个 EmployeeController 类并输入以下代码。在这里,我们将创建一个端点“ /employees/{id} ”来使用 id 查找员工。

package com.gfg.employeaap.controller;import com.gfg.employeaap.response.EmployeeResponse;import com.gfg.employeaap.service.EmployeeService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class EmployeeController {    @Autowired    private EmployeeService employeeService;    @GetMapping("/employees/{id}")    private ResponseEntity getEmployeeDetails(@PathVariable("id") int id) {        EmployeeResponse employee = employeeService.getEmployeeById(id);        return ResponseEntity.status(HttpStatus.OK).body(employee);    }}

第9步:创建配置类 转到 src > main > java > 配置并创建一个 EmployeeConfig 类并放入以下代码。  

package com.gfg.employeaap.configuration;import org.modelmapper.ModelMapper;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class EmployeeConfig {    @Bean    public ModelMapper modelMapperBean() {        return new ModelMapper();    }}


比丘资源网 » Thinkphp个人发卡网源码(内置自动下载搭建部署教程)

发表回复

提供最优质的资源集合

立即查看 了解详情