参考链接: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. 33.Django ModelForm

    ModelForm 1.ModeForm简单验证 from django.db import models # Create your models here. class UserInfo(mode ...

  2. 使用Python解析豆瓣上Json格式数据

    现在的API接口多为xml或json,json解析更简洁相对xml来说 以豆瓣的API接口为例,解析返回的json数据: https://api.douban.com/v2/book/1220562 ...

  3. vscode前端常用插件推荐,搭建JQuery、Vue等开发环境

    vscode是微软开发的的一款代码编辑器,就如官网上说的一样,vscode重新定义(redefined)了代码编辑器.当前市面上常用的轻型代码编辑器主要是:sublime,notepad++,edit ...

  4. Filecoin: 影响力容错(PFT)和预期共识(EC)

    名字翻译:Power Fault Tolerance-影响力容错 关于这个名字翻译,小编思考了大约2周时间,期间也跟各路技术牛人进行了交流. The Power Fault Tolerance mod ...

  5. AVL树(Java实现)

    AVL树基本介绍 AVL树是一种自平衡的二叉查找树,在AVL树中任何节点的两个子树的高度差不能超过1.就是相当于在二叉搜索树的基础上,在插入和删除时进行了平衡处理. 不平衡的四种情况 LL:结构介绍 ...

  6. 使用html元素的getBoundingClientRect来获取dom元素的时时位置和大小

    使用: var section = $('.section'):这是jquery包装的dom元素,其他前端框架返回的可能也是一个包装元素, 我们需要获得的是里面的html的dom元素 然后:secti ...

  7. 使用padding来合理布局自己的容器类

    这两天一直忙着前端UI的事,前端布局这块下了很多工夫,很多第三方布局框架如Bootstrap和layUI等虽然很好使用,但是前端你懂的,实际用起来总得缝缝补补,烦啊. 今天就遇到了一个要让div容器内 ...

  8. UVA 10305 Ordering Tasks(拓扑排序的队列解法)

    题目链接: https://vjudge.net/problem/UVA-10305#author=goodlife2017 题目描述 John有n个任务,但是有些任务需要在做完另外一些任务后才能做. ...

  9. Docker 网络管理及容器跨主机通信

    1.网络模式 docker支持四种网络模式,使用--net选项指定: host,--net=host,如果指定此模式,容器将不会获得一个独立的network namespace,而是和宿主机共用一个. ...

  10. C++模板入门教程(一)——模板概念与基本语法

    转载请保留以下声明 作者:赵宗晟 出处:http://www.cnblogs.com/zhao-zongsheng/ 前言 有些人提到C++模板就会下意识地觉得可怕.看不懂.避而远之.其实模板并不复杂 ...