Invalid message when query param is empty with date format

Issue #789 open
Sodepr created an issue

Swagger/OpenAPI configuration:

"type": "string",
"format": "date"

Send request with query param is empty. Eg: ?key=

Actual: validation.request.parameter.missing

Expected: validation.request.parameter.schema.format or validation.request.parameter.schema.format.date

Root cause: the type string with data format will create DateSchema instead of StringSchema

PR: https://bitbucket.org/atlassian/swagger-request-validator/pull-requests/416

Support other types inherit from string type: https://bitbucket.org/atlassian/swagger-request-validator/pull-requests/417

package io.swagger.v3.oas.models.media;

public class StringSchema extends Schema<String> {

    public StringSchema() {
        super("string", null);
    }
package io.swagger.v3.oas.models.media;

public class BinarySchema extends Schema<byte[]> {

    public BinarySchema() {
        super("string", "binary");
    }
package io.swagger.v3.oas.models.media;

public class ByteArraySchema extends Schema<byte[]> {

    public ByteArraySchema() {
        super("string", "byte");
    }
package io.swagger.v3.oas.models.media;

public class DateSchema extends Schema<Date> {

    public DateSchema() {
        super("string", "date");
    }
package io.swagger.v3.oas.models.media;

public class DateTimeSchema extends Schema<OffsetDateTime> {

    public DateTimeSchema() {
        super("string", "date-time");
    }
package io.swagger.v3.oas.models.media;

public class EmailSchema extends Schema<String> {

    public EmailSchema() {
        super("string", "email");
    }
package io.swagger.v3.oas.models.media;

public class FileSchema extends Schema<String> {

    public FileSchema() {
        super("string", "binary");
    }
package io.swagger.v3.oas.models.media;

public class PasswordSchema extends Schema<String> {

    public PasswordSchema() {
        super("string", "password");
    }
package io.swagger.v3.oas.models.media;

public class StringSchema extends Schema<String> {

    public StringSchema() {
        super("string", null);
    }
package io.swagger.v3.oas.models.media;

public class UUIDSchema extends Schema<UUID> {

    public UUIDSchema() {
        super("string", "uuid");
    }

Comments (3)

  1. Log in to comment