GraphQL Java DateTime 项目教程

GraphQL Java DateTime 项目教程

graphql-java-datetime项目地址:https://gitcode.com/gh_mirrors/gra/graphql-java-datetime

1. 项目的目录结构及介绍

GraphQL Java DateTime 项目的目录结构如下:

graphql-java-datetime/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   ├── graphql/
│   │   │   │   ├── scalars/
│   │   │   │   │   ├── datetime/
│   │   │   │   │   │   ├── DateTimeScalar.java
│   │   │   │   │   │   └── ...
│   │   │   │   └── ...
│   │   │   └── ...
│   │   └── resources/
│   │       └── ...
│   └── test/
│       ├── java/
│       │   ├── graphql/
│       │   │   ├── scalars/
│       │   │   │   ├── datetime/
│       │   │   │   │   ├── DateTimeScalarTest.java
│       │   │   │   │   └── ...
│       │   │   └── ...
│       │   └── ...
│       └── resources/
│           └── ...
├── .gitignore
├── LICENSE
├── README.md
├── build.gradle
├── gradlew
├── gradlew.bat
└── settings.gradle

目录结构介绍

  • src/main/java/graphql/scalars/datetime/: 包含主要的日期时间标量类型实现文件,如 DateTimeScalar.java
  • src/test/java/graphql/scalars/datetime/: 包含测试文件,如 DateTimeScalarTest.java
  • .gitignore: Git 忽略文件配置。
  • LICENSE: 项目许可证文件。
  • README.md: 项目说明文档。
  • build.gradle: 项目构建配置文件。
  • gradlewgradlew.bat: Gradle 包装脚本。
  • settings.gradle: Gradle 设置文件。

2. 项目的启动文件介绍

项目的启动文件主要是 DateTimeScalar.java,位于 src/main/java/graphql/scalars/datetime/ 目录下。该文件定义了 GraphQL 的日期时间标量类型,并提供了序列化、解析和验证的方法。

package graphql.scalars.datetime;

import graphql.Internal;
import graphql.language.StringValue;
import graphql.language.Value;
import graphql.schema.Coercing;
import graphql.schema.CoercingParseLiteralException;
import graphql.schema.CoercingParseValueException;
import graphql.schema.CoercingSerializeException;
import graphql.schema.GraphQLScalarType;

import java.time.DateTimeException;
import java.time.OffsetDateTime;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DateTimeParseException;
import java.util.function.Function;

import static graphql.scalars.util.Kit.typeName;
import static java.time.format.DateTimeFormatter.ISO_LOCAL_DATE;
import static java.time.temporal.ChronoField.HOUR_OF_DAY;
import static java.time.temporal.ChronoField.MINUTE_OF_HOUR;
import static java.time.temporal.ChronoField.NANO_OF_SECOND;
import static java.time.temporal.ChronoField.OFFSET_SECONDS;
import static java.time.temporal.ChronoField.SECOND_OF_MINUTE;

/**
 * Access this via {@link graphql.scalars.ExtendedScalars#DateTime}
 */
@Internal
public final class DateTimeScalar {
    // 具体实现代码
}

3. 项目的配置文件介绍

项目的配置文件主要包括 build.gradlesettings.gradle

build.gradle

该文件用于配置项目的构建过程,包括依赖管理、任务定义等。

plugins {
    id 'java'
}

group 'com.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'com.graphql-java:graphql-java:16.2'
    testImplementation 'junit:junit:4.13.2'

graphql-java-datetime项目地址:https://gitcode.com/gh_mirrors/gra/graphql-java-datetime

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫皎奕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值