Ich erstelle eine REST API mit Grails 3 und Spring Security Rest Plugin.
Ich verwende MySQL als mein Backend.
Aber ich bekomme immer einen 401 Fehler, wenn ich versuche, eine Anfrage an den Endpunkt/api/login zu senden.
Daher nehme ich an, dass boolesche Eigenschaften meiner Domain-Klasse in der MySQL-Datenbank nicht richtig zugeordnet werden. Daher wirft Spring Security 401 Fehler.
Kurz gesagt, möchte ich folgende benutzerdefinierten Dialekt erstellenWie erstelle ich einen benutzerdefinierten Dialekt und füge ihn zur Datei application.yml in Grails 3 hinzu?
package com.yourcompany.yourapp
import java.sql.Types
import org.hibernate.dialect.MySQL5InnoDBDialect
class MyDialect extends MySQL5InnoDBDialect {
public MyDialect() {
registerColumnType(Types.BIT, "boolean")
}
}
Aber ich bin verwirrt, wie es zu tun. Soll ich eine neue Java-Datei oder eine Groovy-Datei erstellen? Auch in welchem Verzeichnis in meinem Grails-App-Verzeichnis soll ich meinen eigenen Dialekt erstellen?
Auch ich muss wissen, welche Änderungen ich in meiner application.yml Datei vornehmen sollte, um meinen benutzerdefinierten Dialekt zu verwenden.
Jede Art von Hilfe wird sehr geschätzt. Vielen Dank!
Schätzen Sie die Hilfe. Kannst du mir auch bei der Erstellung der Datei helfen? In welchem Verzeichnis in meinem App-Verzeichnis? –
Funktioniert immer noch nicht. Ich möchte, dass Boolean in Grails als TINYINT in MySQL abgebildet wird. Aber nach dem Ausführen des obigen Skripts und Anzeigen in der MySQL-Befehlszeile wird es immer noch als Müll unter der booleschen Spalte angezeigt. –
Die Sache ist, ich habe nichts dagegen, meine Eigenschaft als Byte oder Bit zu deklarieren. Das Problem ist jedoch, dass diese Skripte von einem Spring Security-Plugin generiert werden. Wenn das System den aktivierten Spaltenwert während des API-Aufrufs nicht richtig lesen kann, kann das Problem bestehen bleiben. –