当前位置: 首页 > wzjs >正文

宁波专业平台网站建设建网站一般需要多少钱

宁波专业平台网站建设,建网站一般需要多少钱,用axure做的网站成品,个人网站的制作教程目录 RESTful API 设计规范Spring MVC 核心注解解析静态资源处理策略JSON 数据交互全解高频问题与最佳实践 一、RESTful API 设计规范 1.1 核心原则 原则说明示例 URI资源为中心URI 使用名词(复数形式)/users ✔️ /getUser ❌HTTP 方法语义化GET&…

目录

  1. RESTful API 设计规范
  2. Spring MVC 核心注解解析
  3. 静态资源处理策略
  4. JSON 数据交互全解
  5. 高频问题与最佳实践

一、RESTful API 设计规范

1.1 核心原则

原则说明示例 URI
资源为中心URI 使用名词(复数形式)/users ✔️ /getUser
HTTP 方法语义化GET(查)、POST(增)、PUT(改)、DELETE(删)DELETE /users/1
无状态通信服务端不保存客户端会话状态每次请求携带完整认证信息

1.2 完整代码示例

@RestController
@RequestMapping("/api/v1/users")
public class UserController {@GetMapping("/{id}")public ResponseEntity<User> getUser(@PathVariable Long id) {User user = userService.findById(id);return user != null ? ResponseEntity.ok(user) : ResponseEntity.notFound().build();}@PostMappingpublic ResponseEntity<User> createUser(@Valid @RequestBody User user) {User savedUser = userService.save(user);URI location = ServletUriComponentsBuilder.fromCurrentRequest().path("/{id}").buildAndExpand(savedUser.getId());return ResponseEntity.created(location).body(savedUser);}
}

1.3 高级技巧

  • HATEOAS 实现(响应中嵌入资源链接):
@GetMapping("/{id}/orders")
public CollectionModel<Order> getUserOrders(@PathVariable Long id) {List<Order> orders = orderService.findByUserId(id);Link selfLink = linkTo(methodOn(UserController.class).getUserOrders(id)).withSelfRel();return CollectionModel.of(orders, selfLink);
}
  • 响应示例
{"content": [ ... ],"_links": {"self": { "href": "/users/1/orders" }}
}

二、Spring MVC 核心注解解析

2.1 参数绑定注解

注解作用场景示例代码
@PathVariable从 URI 路径提取变量@GetMapping("/{id}")id=1
@RequestParam绑定查询参数(支持默认值)@RequestParam(name="page", defaultValue="1")
@RequestBody将请求体 JSON 映射到 Java 对象public User createUser(@RequestBody User user)

2.2 元数据获取注解

// 获取 Cookie 值
@GetMapping("/session")
public String getSession(@CookieValue("JSESSIONID") String sessionId) { ... }// 读取请求头
@GetMapping("/headers")
public String getHeader(@RequestHeader("User-Agent") String userAgent) { ... }

2.3 作用域注解

注解作用域生命周期
@SessionAttribute读取 Session 属性用户会话期间有效
@ModelAttribute预加载模型数据每次请求前执行

三、静态资源处理策略

3.1 配置方式对比

方式配置示例适用场景
缺省 Servlet 放行web.xml 配置 <servlet-mapping>传统项目兼容
resources 标签<mvc:resources mapping="/img/**" location="/img/"/>明确指定资源目录
default-servlet-handler<mvc:default-servlet-handler/>快速放行所有静态资源

3.2 常见问题

  • JSP 未被放行:需通过视图解析器处理,不属于静态资源。
  • 路径冲突:避免控制器映射与静态资源路径重叠(如 /js/**/js/controller)。

四、JSON 数据交互全解

4.1 响应 JSON 配置

@RestController // = @Controller + @ResponseBody
public class ApiController {@GetMapping("/city/{id}")public City getCity(@PathVariable int id) {return cityService.findById(id);}
}

4.2 序列化控制

@Data
public class Product {@JsonIgnoreprivate String internalCode; // 不序列化@JsonFormat(pattern = "yyyy-MM-dd")private Date createTime;     // 日期格式化
}

4.3 依赖配置

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.14.0</version>
</dependency>

五、高频问题与最佳实践

5.1 常见错误

  1. RESTful 路径设计混乱
    • /getUserOrders?userId=1 → ✅ GET /users/1/orders
  2. HTTP 方法误用
    • ❌ 用 POST 请求更新资源 → ✅ 使用 PUT/PATCH
  3. JSON 日期序列化错误
    • 解决方案:@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")

5.2 性能优化

  • 静态资源缓存:配置 Cache-Control 头减少重复请求。
  • Jackson 延迟加载:对大数据集使用 @JsonView 控制序列化字段。
http://www.dtcms.com/wzjs/169062.html

相关文章:

  • 设计网站推荐国外广州软文推广公司
  • 常州做网站的济南搜索引擎优化网站
  • 网站添加微信支付chatgpt网页
  • iis7.5配置网站广州新闻报道
  • wordpress 南非政府培训seo哪家学校好
  • 网站前置审批在哪里办域名关键词排名查询
  • 做网站必备百度推广客户端教程
  • 日语网站设计windows10优化大师
  • 网站北京谷歌优化
  • 专业网站建设培训机构手机百度网盘登录入口
  • 有没有让人做问卷的网站百度网盘电脑版官网
  • 有什么比较好的做海报网站网站建设需要多少钱?
  • 体检营销型网站seo知识分享
  • 个人网站备案要求拓客最有效方案
  • 长春网站建设优化排名灰色词快速排名接单
  • 江苏省交通建设监理协会网站查询友情链接
  • 建设个定制网站需要多少钱百度收录哪些平台比较好
  • 网站开发公司创业策划seo模拟点击
  • 做违法网站程序员犯法吗网站友情链接有什么用
  • 哈尔滨做网站优化长沙seo培训班
  • 嘉兴网站制作网页设计与制作模板
  • 企业网管系统软件百度seo营销推广多少钱
  • 高新企业如何在税务网站做备案营销渠道的三个类型
  • 河南省网站制作公司成功的网络营销案例及分析
  • 西安网站建设建站系统大地资源网在线观看免费
  • wordpress 视频显示图片网站排名优化怎么做
  • 旅游网站建设规划方案百度软件优化排名
  • 葫芦岛做网站杭州seo网
  • 网站策划需要具备什么宁波网站推广运营公司
  • 检查网站是否做网站地图做网站推广一般多少钱