参考链接:http://www.cnblogs.com/keatkeat/category/872790.html

编辑-》update保存

一、typescipt

import { Injectable } from '@angular/core';
import { Headers, Http } from '@angular/http';
import { RequestOptions } from '@angular/http';

import 'rxjs/add/operator/toPromise';

@Injectable()
export class SubnetService {
constructor(private http: Http) {}

getDatas(): Promise<any> {
return this.http.get("/devices")
.toPromise()
.then(response => response.json())
.catch(this.handleError);
}

getData(): Promise<any> {
return this.http.get("/devices/")
.toPromise()
.then(response => response.json())
.catch(this.handleError);
}

update(id, data): Promise<any>{
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post("/devices/"+ id +"/update", JSON.stringify(data),options)
.toPromise()
.then(response => response.json())
.catch(this.handleError);
}

delete(id): Promise<any> {
return this.http.delete("/devices/"+ id)
.toPromise()
.then(response => response)
.catch(this.handleError);
}

private handleError(error: any): Promise<any> {
console.error('An error occurred', error);
return Promise.reject(error.message || error);
}
}

二、java代码

package com.inspur.iot.iot_hub.controller;

import com.inspur.iot.iot_hub.entity.DmDevicetype;
import com.inspur.iot.iot_hub.service.DeviceService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.*;

@RestController
@RequestMapping(value="/devices") // 通过这里配置使下面的映射都在/devices下,可去除
public class DeviceTypeController {
@Autowired
DeviceService deviceServer;
@ApiOperation(value="获取设备类型列表", notes="")
@RequestMapping(value={""}, method= RequestMethod.GET)
public List<DmDevicetype> getDeviceList() {
List<DmDevicetype> devices = deviceServer.getDevice();
return devices;
}
@ApiOperation(value="查询设备类型", notes="")
@ApiImplicitParam(name = "device", value = "设备查询", required = true, dataType = "Device")
@RequestMapping(value="/code", method=RequestMethod.GET)
public List<DmDevicetype> getDevicesByCode(@PathVariable String code) {
List<DmDevicetype> devices = deviceServer.getDeviceByCode(code);
return devices;
}

@ApiOperation(value="创建设备类型", notes="")
@ApiImplicitParam(name = "device", value = "设备详细实体device", required = true, dataType = "Device")
@RequestMapping(value="", method=RequestMethod.POST)
public DmDevicetype createDevice(@RequestBody DmDevicetype device) {
deviceServer.create(device);
return device;
}

@ApiOperation(value="获取设备详细信息", notes="根据url的id来获取设备详细信息")
@ApiImplicitParam(name = "id", value = "设备ID", required = true, dataType = "String")
@RequestMapping(value="/{id}/detail", method=RequestMethod.GET)
public DmDevicetype getDevice(@PathVariable String id) {
return deviceServer.queryDevice(id);
}

@ApiOperation(value="更新设备详细信息", notes="根据url的id来指定更新对象,并根据传过来的device信息来更新用户详细信息")

@RequestMapping(value="/{id}/update", method=RequestMethod.POST)
public DmDevicetype updateDevice(@PathVariable String id, @RequestBody DmDevicetype device){
deviceServer.updateDevice(id,device);
return device;
}

@ApiOperation(value="删除设备", notes="根据url的id来指定删除对象")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String")
@RequestMapping(value="/{id}", method=RequestMethod.DELETE)
public String deleteDevice(@PathVariable String id) {
deviceServer.deleteDevice(id);
return "success";
}

}

iot前台开发环境:请求示例的更多相关文章

  1. iot前台开发环境:搭建 SpringBoot+angularJs2

    参考网站 Angular 中文官网:https://angular.cn/ 参考代码:https://ng.ant.design/#/components/dropdown  npm install ...

  2. iot前台开发环境:前后台访问映射

    一.前端映射- java代码 二.路由设置 -前台代码 三.访问应用

  3. Halcon开发环境和数据结构介绍——第1讲

    1.Halcon是什么?如何初步了解Halcon? 这点我讲得不太好,不如给大家看看三个链接: ① Halcon官方网站:https://www.mvtec.com/products/halcon/ ...

  4. 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境

    1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...

  5. Salesforce Apex 开发环境设置和Hello World示例

    本文介绍了Salesforce Apex开发环境的设置以及一个简单的Hello World示例的实现过程. Salesforce开发环境 Salesforce通过http://developer.fo ...

  6. Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建

    目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2).其中,Galileo (Gen 1和Gen 2)运行的是 ...

  7. Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境

    Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. The ...

  8. 【笔记】vue-cli 开发环境中跨域连接后台api(vue-resource 跨域post 请求)

    在vue-cli 项目中很多人会用到mock 数据(模拟数据),但是我觉得如果在真实的数据库交互中开发会更有安全感一些,所以查了一下百度很多人推荐的就是: 跨域! 跨域是什么概念?不同的主机名,同主机 ...

  9. activiti实战--第二章--搭建Activiti开发环境及简单示例

    (一)搭建开发环境 学习资料:<Activiti实战> 第一章 认识Activiti 2.1 下载Activiti 官网:http://activiti.org/download.html ...

随机推荐

  1. 十倍效能提升——Web 基础研发体系的建立

    1 导读 web 基础研发体系指的是, web 研发中一线工程师所直接操作的技术.工具,以及所属组织架构的总和.在过去提升企业研发效能的讨论中,围绕的主题基本都是——”通过云计算.云存储等方式将底层核 ...

  2. C#将.spl剥离成.emf文件格式

    本文转载自 星战紫辉 http://www.cppblog.com/rawdata/archive/2009/02/23/74653.html 但C#代码实现为本人原创.https://github. ...

  3. windows系统安装jira

     主题介绍 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域,其配置灵活.功能全面.部署简单.扩展丰 ...

  4. Hibernate之三态

    1.瞬时态 瞬时态也成为临时态或者自由态,瞬时态的实例是new命令创建.开辟内存空间的对象,不存在持久化标识OID,尚未与Hibernate Session关联,在数据库中没有任何记录,失去引用将被G ...

  5. 微软Skype Linux客户端全新发布

    前两天,微软说要给“Linux 用户带来一个令人兴奋的新闻”,今天,这个新闻来了.它刚刚为 Linux 发布了一个新的 Skype 客户端. 此次发布,微软为 Linux 带来的 Skype 客户端与 ...

  6. 剑指Offer-对称的二叉树

    package Tree; /** * 对称的二叉树 * 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. */ public class ...

  7. nodejs轻量级时间格式化组件Moment.js的使用例子

    在项目中,经常使用时间进行格式化的输出,以及转换,同时做时间的统计,原本js原生的时间函数比较复杂繁琐,不适合快速开发使用. 轻量级的moment.js很好的解决了这些问题. 下面以简单的例子进行mo ...

  8. Maven-08: 插件的配置

    完成了插件和生命周期的绑定之后,用户还可以配置插件目标的参数,进一步调整插件目标所执行的任务,以满足项目的需求.几乎所有Maven插件的目标都有一些可配置的参数.用户可以通过命令行和POM配置等方式来 ...

  9. 微信公众号支付JSAPI网页,total_fee错误不正确,header重定向参数丢失,无法获取订单号和金额解决

    微信公众号支付官方demo错误, 公众号支付只能用在微信里,也就是微信内部浏览器. 1.到WxPayHubHelper.php文件 JsApi_pub()类下createOauthUrlForCode ...

  10. swift 相关小随笔

    关键词 typealias 对已经存在的类重命名 let  修饰不可变值 var  修饰可变的值 lazy  懒加载修饰符,用到的时候才会加载 convenience 原方法的备用方法,方法一致,但是 ...